diff options
author | Ryan Roberts <ryan.roberts@arm.com> | 2023-02-27 11:14:44 +0000 |
---|---|---|
committer | Ryan Roberts <ryan.roberts@arm.com> | 2023-02-27 11:33:14 +0000 |
commit | 30d284f7039eb6830cd1badb4e052d0938abc718 (patch) | |
tree | 3bb99ff3e1eb4df9ae39fa014e2180e85e4d4cb2 /documentation | |
parent | 82d7c98dd33eb189117131d20a1bbb5823f1a3db (diff) |
run: Stop removing escape sequences by default
Our attempt to remove escape sequences from the terminal output streams
was motivated by wanting to stop EDK2 from clearing over previous output
(and generally leaving the terminal in a bad state for future output),
as well as not wanting the escape sequences to conflict with
shrinkwrap's use of color coding for different output sources.
But it was very broken, and meant that legitimate escape sequence
generators (e.g.) bash, ls, etc were being punished and the UX was
diminished.
Make it opt-in to remove escape sequences on a per-terminal basis. This
is specified in the config, using the new terminal::<name>::no_escapes
property. By default this is disabled. But for EDK2 based configs, we
set it to be enabled during boot until handoff to the kernel, which will
disable it.
Its still not perfect; if an escape sequence gets split across read
buffers, we will not notice it. But given we are attempting to strip
escape sequences far less often than we used to (only for configs with
EDK2 and only until EDK2 hands off to the kernel), perhaps no body will
notice.
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
Diffstat (limited to 'documentation')
-rw-r--r-- | documentation/userguide/config.rst | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/documentation/userguide/config.rst b/documentation/userguide/config.rst index 113c2c2..c75c4df 100644 --- a/documentation/userguide/config.rst +++ b/documentation/userguide/config.rst @@ -210,6 +210,7 @@ friendly string Label to display against the terminal when muxing to std port_regex string Regex to use to find the TCP port of the terminal when parsing the FVP stdout. Must have single capture group. type enum-string Terminal type. See below for options. no_color boolean Optional (defaults to false, only applies to ['stdout', 'stdinout'] types): If true, output from this terminal is not color-coded. If this terminal carries the interactive shell, it is advised to set this to true to prevent interferring with the shell's escape sequences. --no-color command line option causes this to behave as if set to true. +no_escapes bool/string Optional (defaults to false, only applies to ['stdout', 'stdinout'] types): If true, strips any escape sequences from the output stream before forwarding to the terminal. If a string, behaves as if true until the string is found in the output, which sets it to false. Useful to expunge escape sequences from EDK2 during boot. =========== =========== =========== Terminal types: |