From 2bba1c22e77a67bc6c245fbd4fa74160d33be564 Mon Sep 17 00:00:00 2001 From: Raphael Isemann Date: Fri, 6 Mar 2020 15:49:23 -0800 Subject: tab completion for process signal Summary: Provide a list of Unix signals for the tap completion for command "process signal". Reviewers: teemperor Subscribers: labath, jingham, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D75418 --- lldb/source/Commands/CommandObjectProcess.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'lldb/source/Commands/CommandObjectProcess.cpp') diff --git a/lldb/source/Commands/CommandObjectProcess.cpp b/lldb/source/Commands/CommandObjectProcess.cpp index 504aec4..20bbf95 100644 --- a/lldb/source/Commands/CommandObjectProcess.cpp +++ b/lldb/source/Commands/CommandObjectProcess.cpp @@ -1034,6 +1034,20 @@ public: ~CommandObjectProcessSignal() override = default; + void + HandleArgumentCompletion(CompletionRequest &request, + OptionElementVector &opt_element_vector) override { + if (!m_exe_ctx.HasProcessScope() || request.GetCursorIndex() != 0) + return; + + UnixSignalsSP signals = m_exe_ctx.GetProcessPtr()->GetUnixSignals(); + int signo = signals->GetFirstSignalNumber(); + while (signo != LLDB_INVALID_SIGNAL_NUMBER) { + request.AddCompletion(signals->GetSignalAsCString(signo), ""); + signo = signals->GetNextSignalNumber(signo); + } + } + protected: bool DoExecute(Args &command, CommandReturnObject &result) override { Process *process = m_exe_ctx.GetProcessPtr(); -- cgit v1.1