Author: Gongyu Deng Date: 2020-05-11T15:55:11+02:00 New Revision: e87362e6894e052456c645129ac570f6bc23e8d1
URL: https://github.com/llvm/llvm-project/commit/e87362e6894e052456c645129ac570f6bc23e8d1 DIFF: https://github.com/llvm/llvm-project/commit/e87362e6894e052456c645129ac570f6bc23e8d1.diff LOG: 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 Added: Modified: lldb/source/Commands/CommandObjectBreakpoint.cpp lldb/test/API/functionalities/completion/TestCompletion.py Removed: ################################################################################ diff --git a/lldb/source/Commands/CommandObjectBreakpoint.cpp b/lldb/source/Commands/CommandObjectBreakpoint.cpp index 11cded687913..fbd96c2c5ef5 100644 --- a/lldb/source/Commands/CommandObjectBreakpoint.cpp +++ b/lldb/source/Commands/CommandObjectBreakpoint.cpp @@ -1770,6 +1770,14 @@ class CommandObjectBreakpointNameAdd : public CommandObjectParsed { ~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 @@ class CommandObjectBreakpointNameDelete : public CommandObjectParsed { ~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 @@ class CommandObjectBreakpointWrite : public CommandObjectParsed { ~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 { diff --git a/lldb/test/API/functionalities/completion/TestCompletion.py b/lldb/test/API/functionalities/completion/TestCompletion.py index 3a9c30a3e62a..a53ade542f46 100644 --- a/lldb/test/API/functionalities/completion/TestCompletion.py +++ b/lldb/test/API/functionalities/completion/TestCompletion.py @@ -478,10 +478,10 @@ def test_register_read_and_write_on_x86(self): 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: _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits