[all-commits] [llvm/llvm-project] 39ea67: [lldb] Compute fully qualified command names in Fi...

Dave Lee via All-commits all-commits at lists.llvm.org
Sun Jan 9 12:11:57 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 39ea676d9d0ea467b7e5fe2d5c25d22a2d906041
      https://github.com/llvm/llvm-project/commit/39ea676d9d0ea467b7e5fe2d5c25d22a2d906041
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2022-01-09 (Sun, 09 Jan 2022)

  Changed paths:
    M lldb/include/lldb/Interpreter/CommandInterpreter.h
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/test/API/commands/command/container/TestContainerCommands.py
    M lldb/test/API/commands/command/container/welcome.py

  Log Message:
  -----------
  [lldb] Compute fully qualified command names in FindCommandsForApropos

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)




More information about the All-commits mailing list