Feature flag for eventually disabling terminal workarounds

We've removed several terminal-specific workarounds but also added
some recently.  Most of the non-Apple issues have been reported
upstream.  Many of our workarounds were only meant to be temporary.
Some workarounds are unreliable and some can cause introduce other
problems.

Add a feature flag we can use later to let users turn off workarounds.

This doesn't disable anything yet, mostly because because despite being
off-by-default, this might surprise people who use "fish_features=all".
The fix would be "fish_features=all,no-omit-term-workarounds".
So we'd want a high degree of confidence.

For now we'll use this only with the next commit.

Closes #11819
This commit is contained in:
Johannes Altmanninger
2025-09-23 12:57:06 +02:00
parent 7e86e07fb0
commit 9165251a0b
5 changed files with 21 additions and 10 deletions

View File

@@ -2027,6 +2027,7 @@ You can see the current list of features via ``status features``::
mark-prompt on 4.0 write OSC 133 prompt markers to the terminal
ignore-terminfo on 4.1 do not look up $TERM in terminfo database
query-term on 4.1 query the TTY to enable extra functionality
omit-term-workarounds off 4.3 skip workarounds for incompatible terminals
Here is what they mean:
@@ -2041,6 +2042,7 @@ Here is what they mean:
- ``query-term`` allows fish to query the terminal by writing escape sequences and reading the terminal's response.
This enables features such as :ref:`scrolling <term-compat-cursor-position-report>`.
If you use an incompatible terminal, you can -- for the time being -- work around it by running (once) ``set -Ua fish_features no-query-term``.
- ``omit-term-workarounds`` prevents fish from trying to work around incompatible terminals.
These changes are introduced off by default. They can be enabled on a per session basis::