Tab completion for breakpoint write and breakpoint name add/delete

Summary: Apply the common completion created in [[ https://reviews.llvm.org/D75418 | Revision D75418 ]] to the commands  `breakpoint write` and `breakpoint name add/delete`.

Reviewers: teemperor, JDevlieghere

Reviewed By: teemperor

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D79686
This commit is contained in:
Gongyu Deng 2020-05-11 15:54:13 +02:00 committed by Raphael Isemann
parent 25d6995079
commit e87362e689
2 changed files with 27 additions and 3 deletions

View File

@ -1770,6 +1770,14 @@ public:
~CommandObjectBreakpointNameAdd() override = default;
void
HandleArgumentCompletion(CompletionRequest &request,
OptionElementVector &opt_element_vector) override {
CommandCompletions::InvokeCommonCompletionCallbacks(
GetCommandInterpreter(), CommandCompletions::eBreakpointCompletion,
request, nullptr);
}
Options *GetOptions() override { return &m_option_group; }
protected:
@ -1849,6 +1857,14 @@ public:
~CommandObjectBreakpointNameDelete() override = default;
void
HandleArgumentCompletion(CompletionRequest &request,
OptionElementVector &opt_element_vector) override {
CommandCompletions::InvokeCommonCompletionCallbacks(
GetCommandInterpreter(), CommandCompletions::eBreakpointCompletion,
request, nullptr);
}
Options *GetOptions() override { return &m_option_group; }
protected:
@ -2147,6 +2163,14 @@ public:
~CommandObjectBreakpointWrite() override = default;
void
HandleArgumentCompletion(CompletionRequest &request,
OptionElementVector &opt_element_vector) override {
CommandCompletions::InvokeCommonCompletionCallbacks(
GetCommandInterpreter(), CommandCompletions::eBreakpointCompletion,
request, nullptr);
}
Options *GetOptions() override { return &m_options; }
class CommandOptions : public Options {

View File

@ -478,10 +478,10 @@ class CommandLineCompletionTestCase(TestBase):
self.complete_from_to('register write rbx ',
[])
def test_breakpoint_enable_disable_delete_modify_with_ids(self):
"""These four breakpoint subcommands should be completed with a list of breakpoint ids"""
def test_complete_breakpoint_with_ids(self):
"""These breakpoint subcommands should be completed with a list of breakpoint ids"""
subcommands = ['enable', 'disable', 'delete', 'modify']
subcommands = ['enable', 'disable', 'delete', 'modify', 'name add', 'name delete', 'write']
# The tab completion here is unavailable without a target
for subcommand in subcommands: