================ @@ -2473,3 +2474,35 @@ bool PluginManager::SetUnwindAssemblyPluginEnabled(llvm::StringRef name, bool enable) { return GetUnwindAssemblyInstances().SetInstanceEnabled(name, enable); } + +void PluginManager::AutoCompletePluginName(llvm::StringRef name, + CompletionRequest &request) { + // Split the name into the namespace and the plugin name. + // If there is no dot then the ns_name will be equal to name and + // plugin_prefix will be empty. + llvm::StringRef ns_name, plugin_prefix; + std::tie(ns_name, plugin_prefix) = name.split('.'); + + for (const PluginNamespace &plugin_ns : GetPluginNamespaces()) { + // If the plugin namespace matches exactly then + // add all the plugins in this namespace as completions if the + // plugin names starts with the plugin_prefix. If the plugin_prefix + // is empty then it will match all the plugins (empty string is a + // prefix of everything). + if (plugin_ns.name == ns_name) { + for (const RegisteredPluginInfo &plugin : plugin_ns.get_info()) { + llvm::SmallString<128> buf; + if (plugin.name.starts_with(plugin_prefix)) + request.AddCompletion( + (plugin_ns.name + "." + plugin.name).toStringRef(buf)); ---------------- JDevlieghere wrote:
Thanks, now that I see the code I remember I touched those lines not too long ago. Thanks for confirming. https://github.com/llvm/llvm-project/pull/147775 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits