summaryrefslogtreecommitdiff
path: root/documentation
diff options
context:
space:
mode:
authorRyan Roberts <ryan.roberts@arm.com>2023-02-27 11:14:44 +0000
committerRyan Roberts <ryan.roberts@arm.com>2023-02-27 11:33:14 +0000
commit30d284f7039eb6830cd1badb4e052d0938abc718 (patch)
tree3bb99ff3e1eb4df9ae39fa014e2180e85e4d4cb2 /documentation
parent82d7c98dd33eb189117131d20a1bbb5823f1a3db (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.rst1
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: