bool SBBreakpointName::GetCommandLineCommands(SBStringList &commands) { Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_API)); BreakpointName *bp_name = GetBreakpointName(); if (!bp_name) return false; LLDB_LOG(log, "Name: {0}\n", bp_name->GetName()); StringList command_list; bool has_commands = bp_name->GetOptions().GetCommandLineCallbacks(command_list); if (has_commands) commands.AppendList(command_list); return has_commands; }
int SBCommandInterpreter::HandleCompletion (const char *current_line, const char *cursor, const char *last_char, int match_start_point, int max_return_elements, SBStringList &matches) { Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API)); int num_completions = 0; // Sanity check the arguments that are passed in: // cursor & last_char have to be within the current_line. if (current_line == nullptr || cursor == nullptr || last_char == nullptr) return 0; if (cursor < current_line || last_char < current_line) return 0; size_t current_line_size = strlen (current_line); if (cursor - current_line > static_cast<ptrdiff_t>(current_line_size) || last_char - current_line > static_cast<ptrdiff_t>(current_line_size)) return 0; if (log) log->Printf ("SBCommandInterpreter(%p)::HandleCompletion (current_line=\"%s\", cursor at: %" PRId64 ", last char at: %" PRId64 ", match_start_point: %d, max_return_elements: %d)", static_cast<void*>(m_opaque_ptr), current_line, static_cast<uint64_t>(cursor - current_line), static_cast<uint64_t>(last_char - current_line), match_start_point, max_return_elements); if (IsValid()) { lldb_private::StringList lldb_matches; num_completions = m_opaque_ptr->HandleCompletion(current_line, cursor, last_char, match_start_point, max_return_elements, lldb_matches); SBStringList temp_list (&lldb_matches); matches.AppendList (temp_list); } if (log) log->Printf ("SBCommandInterpreter(%p)::HandleCompletion - Found %d completions.", static_cast<void*>(m_opaque_ptr), num_completions); return num_completions; }
int SBCommandInterpreter::HandleCompletion (const char *current_line, const char *cursor, const char *last_char, int match_start_point, int max_return_elements, SBStringList &matches) { int num_completions = 0; if (m_opaque_ptr) { lldb_private::StringList lldb_matches; num_completions = m_opaque_ptr->HandleCompletion (current_line, cursor, last_char, match_start_point, max_return_elements, lldb_matches); SBStringList temp_list (&lldb_matches); matches.AppendList (temp_list); } return num_completions; }