Fixes incomplete command names in `apropos` results. The full command names given by `apropos` have come from command name string literals given to `CommandObject` constructors. For most commands, this has been accurate, but some commands have incorrect strings. This results in `apropos` output that doesn't tell the user the full command name they might want learn more about. These strings can be fixed. There's a seperate issue that can't be fixed as easily: plugin commands. With the way they're implemented, plugin commands have to exclude the root command from their command name string. To illustrate, the `language objc` subcommand has to set its command name string to "objc", which results in apropos printing results as `objc ...` instead of `language objc ...`. To fix both of these issues, this commit changes `FindCommandsForApropos` to derive the fully qualified command name using the keys of subcommand maps. Differential Revision: https://reviews.llvm.org/D116491 (cherry picked from commit b3bfd595a548cd85b12e4e83729436cb73b26f29)
29 lines
785 B
Python
29 lines
785 B
Python
from __future__ import print_function
|
|
import lldb
|
|
import sys
|
|
|
|
|
|
class WelcomeCommand(object):
|
|
|
|
def __init__(self, debugger, session_dict):
|
|
pass
|
|
|
|
def get_short_help(self):
|
|
return "Just a docstring for Welcome\nA command that says hello to LLDB users"
|
|
|
|
def __call__(self, debugger, args, exe_ctx, result):
|
|
print('Hello ' + args + ', welcome to LLDB', file=result)
|
|
return None
|
|
|
|
class WelcomeCommand2(object):
|
|
|
|
def __init__(self, debugger, session_dict):
|
|
pass
|
|
|
|
def get_short_help(self):
|
|
return "A docstring for the second Welcome\nA command that says hello to LLDB users"
|
|
|
|
def __call__(self, debugger, args, exe_ctx, result):
|
|
print('Hello ' + args + ', welcome again to LLDB', file=result)
|
|
return None
|