diff options
author | Jonas Devlieghere <jonas@devlieghere.com> | 2025-03-26 14:41:05 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-26 14:41:05 -0700 |
commit | 9c18edc62123e778d1d713df44aa05c91e7bbbae (patch) | |
tree | 402c27f76b4d79f03bb321c737d48a84c1f3c8e6 /lldb/packages/Python/lldbsuite/test/lldbtest.py | |
parent | 38aac86a2490ba1974755758e1311a6cbdbefb25 (diff) | |
download | llvm-9c18edc62123e778d1d713df44aa05c91e7bbbae.zip llvm-9c18edc62123e778d1d713df44aa05c91e7bbbae.tar.gz llvm-9c18edc62123e778d1d713df44aa05c91e7bbbae.tar.bz2 |
[lldb] Implement a statusline in LLDB (#121860)
Add a statusline to command-line LLDB to display information about the
current state of the debugger. The statusline is a dedicated area
displayed at the bottom of the screen. The information displayed is
configurable through a setting consisting of LLDB’s format strings.
Enablement
----------
The statusline is enabled by default, but can be disabled with the
following setting:
```
(lldb) settings set show-statusline false
```
Configuration
-------------
The statusline is configurable through the `statusline-format` setting.
The default configuration shows the target name, the current file, the
stop reason and any ongoing progress events.
```
(lldb) settings show statusline-format
statusline-format (format-string) = "${ansi.bg.blue}${ansi.fg.black}{${target.file.basename}}{ | ${line.file.basename}:${line.number}:${line.column}}{ | ${thread.stop-reason}}{ | {${progress.count} }${progress.message}}"
```
The statusline supersedes the current progress reporting implementation.
Consequently, the following settings no longer have any effect (but
continue to exist to not break anyone's `.lldbinit`):
```
show-progress -- Whether to show progress or not if the debugger's output is an interactive color-enabled terminal.
show-progress-ansi-prefix -- When displaying progress in a color-enabled terminal, use the ANSI terminal code specified in this format immediately before the progress message.
show-progress-ansi-suffix -- When displaying progress in a color-enabled terminal, use the ANSI terminal code specified in this format immediately after the progress message.
```
Format Strings
--------------
LLDB's format strings are documented in the LLDB documentation and on
the website: https://lldb.llvm.org/use/formatting.html#format-strings.
The current implementation is relatively limited but various
improvements have been discussed in the RFC.
One such improvement is being to display a string when a format string
is empty. Right now, when launching LLDB without a target, the
statusline will be empty, which is expected, but looks rather odd.
RFC
---
The full RFC can be found on Discourse:
https://discourse.llvm.org/t/rfc-lldb-statusline/83948
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lldbtest.py')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/lldbtest.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py index f117aea..a055314 100644 --- a/lldb/packages/Python/lldbsuite/test/lldbtest.py +++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py @@ -772,7 +772,10 @@ class Base(unittest.TestCase): 'settings set symbols.clang-modules-cache-path "{}"'.format( configuration.lldb_module_cache_dir ), + # Disable colors by default. "settings set use-color false", + # Disable the statusline by default. + "settings set show-statusline false", ] # Set any user-overridden settings. |