[Lldb-commits] [lldb] Centralize the handling of completion for simple argument lists. (PR #82085)

Greg Clayton via lldb-commits lldb-commits at lists.llvm.org
Sat Feb 17 11:08:47 PST 2024


================
@@ -305,6 +305,42 @@ void CommandObject::HandleCompletion(CompletionRequest &request) {
   }
 }
 
+void
+CommandObject::HandleArgumentCompletion(CompletionRequest &request,
+                           OptionElementVector &opt_element_vector) {
+  size_t num_arg_entries = GetNumArgumentEntries();
+  if (num_arg_entries != 1)
+    return;
+
+  CommandArgumentEntry *entry_ptr = GetArgumentEntryAtIndex(0);
+  if (!entry_ptr)
+    return; // Maybe this should be an assert, this shouldn't be possible.
+  
+  CommandArgumentEntry &entry = *entry_ptr;
+  // For now, we only handle the simple case of one homogenous argument type.
+  if (entry.size() != 1)
+    return;
----------------
clayborg wrote:

Is it really that hard to add multiple? Can't we handle `N` completion types as long as they are not custom?

https://github.com/llvm/llvm-project/pull/82085


More information about the lldb-commits mailing list