fish-shell/src
Fabian Homborg a7859191b2 Remove is_color_escape_seq
This is supposed to detect color escape sequences, to figure out how
long an escape sequence is, for use in width calculations.

However, the typical color sequences are already taken care of by
is_csi_style_escape_seq because they look like a csi sequence starting
with `\e[` and ending in `m`.

In the entire terminfo database shipped with ncurses 6.3, these are
the terminals that have non-csi color sequences:

at-color
atari-color
atari_st-color
d220-dg
d230-dg
d230c-dg
d430-dg
d430-unix
d430-unix-25
d430-unix-s
d430-unix-sr
d430-unix-w
d430c-dg
d430c-unix
d430c-unix-25
d430c-unix-s
d430c-unix-sr
d430c-unix-w
d470-dg
d470c-dg
dg+fixed
dgmode+color
dgmode+color8
dgunix+fixed
emu
fbterm
i3164
ibm3164
linux-m1b
linux-m2
minitel1
minitel1b
putty-m1b
putty-m2
st52-color
tt52
tw52
tw52-color
xterm-8bit

Most of these were discontinued in the 90s and their manufacturers no
longer exist (like Data General, which went defunct in 1999). The last one is a special mode for xterm that is
fundamentally UTF-8 incompatible because it encodes a CSI as \X9b.

The linux/putty m1b and m2 entries (also for minitel) don't support
color to begin with and the sequences they have in their terminfo
entries are control characters anyway, so the calculation would still
add up.

In turn, what we gain from this is much faster width calculations with
unrecognized escapes -
e.g. `string length -V \efoo` is sped up by a factor of 20.

An alternative would be to skip this if max_colors is > 16 as that is
the most any of these entries can do. The runtime scales linearly with
the number of colors so on those systems it would be reasonably quick anyway.

But given just *how* outdated these are I believe it is okay to just
remove support outright. I do not believe anyone has ever run fish on
any of these.
2022-03-13 11:32:53 +01:00
..
builtins read: Also read in chunks when directly redirected 2022-03-13 11:22:48 +01:00
widecharwidth Update widecharwidth 2022-02-14 22:19:28 +01:00
ast.cpp ast.cpp: initialization order 2021-12-20 22:43:58 -08:00
ast.h ast.h: remove unused private member finished() 2021-12-12 13:05:48 -08:00
ast_node_types.inc Introduce a new fish ast 2020-07-04 14:58:02 -07:00
autoload.cpp Put lots of things in anonymous namespaces 2021-09-30 11:33:03 -07:00
autoload.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
builtin.cpp Shorten more. 2022-01-27 16:21:22 -08:00
builtin.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
color.cpp Simplify ASSERT_SORT_ORDER 2021-07-15 13:15:24 -07:00
color.h Refactor color.h/color.cpp 2021-02-08 15:16:21 -06:00
common.cpp Make byte/unicode escapes with no digits a tokenizer error 2022-03-03 12:18:13 +01:00
common.h Fix comment parsing inside command substitutions and brackets 2022-02-08 16:20:31 +01:00
complete.cpp Try to fix the launchpad build 2022-01-26 22:29:06 -08:00
complete.h Tighten up includes, some typedefs -> using 2021-09-21 18:05:53 -07:00
enum_map.h enum_map stuff to enum_map.h 2021-10-01 03:39:43 -07:00
enum_set.h Tighten up includes, some typedefs -> using 2021-09-21 18:05:53 -07:00
env.cpp Let function-scoped variables be queried 2022-03-10 18:28:50 +01:00
env.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
env_dispatch.cpp Only act on the locale vars we care about 2021-12-13 11:52:17 +01:00
env_dispatch.h Declare functions in headers or use internal linkage (static) 2020-09-08 22:44:03 +02:00
env_universal_common.cpp Allow using poll() to check for readability 2022-01-02 16:36:33 -08:00
env_universal_common.h Refactor env_universal_callbacks 2021-11-14 17:39:52 -08:00
event.cpp more int -> bool 2021-12-09 00:52:45 -08:00
event.h Refactor env_universal_callbacks 2021-11-14 17:39:52 -08:00
exec.cpp Revert "Fix undefined behavior in closing a moved pipe" 2021-12-28 14:25:24 -08:00
exec.h exec.h: remove unused declaration 2021-09-24 09:30:25 -07:00
expand.cpp Remove expand_flag::skip_home_directories 2021-12-28 15:13:50 -08:00
expand.h Remove expand_flag::skip_home_directories 2021-12-28 15:13:50 -08:00
fallback.cpp Replace hangul hack with widecharwidth version 2022-01-21 17:10:52 +01:00
fallback.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
fd_monitor.cpp Allow using poll() to check for readability 2022-01-02 16:36:33 -08:00
fd_monitor.h Allow using poll() to check for readability 2022-01-02 16:36:33 -08:00
fds.cpp Allow using poll() to check for readability 2022-01-02 16:36:33 -08:00
fds.h Allow using poll() to check for readability 2022-01-02 16:36:33 -08:00
fish.cpp Make script file error a bit more obvious 2021-11-20 17:44:06 +01:00
fish_indent.cpp Highlight options differently 2021-10-19 17:20:21 +02:00
fish_key_reader.cpp fkr: do not do should_exit() thing for continuous mode. 2021-12-01 02:15:58 -08:00
fish_test_helper.cpp Add a test that stdin is always handed-off as blocking 2022-02-12 11:41:03 -08:00
fish_tests.cpp Allow underscores as separators in the math builtin (#8611) 2022-03-13 11:23:35 +01:00
fish_version.cpp Fix build 2021-09-21 18:33:14 -07:00
fish_version.h Revert "Generate FISH_BUILD_VERSION info for cmake builds" 2018-01-08 22:28:10 -08:00
flog.cpp Migrate remaining calls from debug_safe to FLOGF_SAFE 2021-07-05 15:47:56 -07:00
flog.h Migrate remaining calls from debug_safe to FLOGF_SAFE 2021-07-05 15:47:56 -07:00
function.cpp mark some functions static 2021-10-31 03:51:38 -07:00
function.h Continue to refactor functions 2021-10-23 10:12:52 -07:00
future_feature_flags.cpp Fit status feaetures in 80 columns 2021-12-13 01:24:47 -08:00
future_feature_flags.h Make '&' only background if followed by a separating character 2021-07-23 22:58:51 +02:00
global_safety.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
highlight.cpp Fix error check for repeated quoted command substitution 2021-12-04 16:56:07 +01:00
highlight.h Highlight options differently 2021-10-19 17:20:21 +02:00
history.cpp Switch path_get_data_is_remote to returning a real class enum 2021-12-18 20:48:13 -08:00
history.h history.h: 2021-12-12 13:36:14 -08:00
history_file.cpp Switch path_get_data_is_remote to returning a real class enum 2021-12-18 20:48:13 -08:00
history_file.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
input.cpp Prevent signals from tearing multi-char bindings 2022-02-05 13:18:36 -08:00
input.h Stop using thread local vectors 2021-08-10 13:07:13 -07:00
input_common.cpp Prevent signals from tearing multi-char bindings 2022-02-05 13:18:36 -08:00
input_common.h Prevent signals from tearing multi-char bindings 2022-02-05 13:18:36 -08:00
intern.cpp Declare functions in headers or use internal linkage (static) 2020-09-08 22:44:03 +02:00
intern.h restyle intern module to match project style 2016-05-01 20:28:46 -07:00
io.cpp builtin string: don't print final newline if it's missing from stdin 2021-11-27 19:11:24 +01:00
io.h builtin string: don't print final newline if it's missing from stdin 2021-11-27 19:11:24 +01:00
iothread.cpp Call pthread_attr_destroy even if pthread_create failed 2022-02-19 14:15:22 +01:00
iothread.h clang-tidy: run through normal checks 2021-08-21 21:59:05 +02:00
job_group.cpp Implement cancel groups 2020-09-03 11:01:27 -07:00
job_group.h Implement cancel groups 2020-09-03 11:01:27 -07:00
kill.cpp Make the kill ring thread-safe 2021-04-21 17:37:44 -07:00
kill.h Implementation of variable with killring entries 2021-04-21 16:39:29 -07:00
lru.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
maybe.h maybe.h: reference header new 2021-08-17 18:57:16 -05:00
null_terminated_array.cpp Rework null terminated arrays 2021-03-28 15:31:25 -07:00
null_terminated_array.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
operation_context.cpp Allow specifying a limit on number of expansion in operation_context 2020-12-22 12:38:51 -08:00
operation_context.h Expand more when performing history path detection 2021-01-08 12:58:34 -08:00
output.cpp output: Allow "--background foo" and "-b foo" for background colors 2021-06-10 10:42:30 +02:00
output.h Tighten up includes, some typedefs -> using 2021-09-21 18:05:53 -07:00
pager.cpp Wrap even more stuff in anonymous namespaces 2021-09-30 11:33:03 -07:00
pager.h Revert "Attempt to simplify how completions get presented in the pager" 2020-12-04 16:44:48 +01:00
parse_constants.h Use source_offset_t (uint32) in tokenizer. 2021-12-21 02:32:52 -08:00
parse_execution.cpp Let's make src/ easier to grok, move builins to src/builtins 2021-11-09 17:39:10 -08:00
parse_execution.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
parse_tree.cpp Output human-readable descriptions of some parse errors 2021-02-09 22:38:16 +01:00
parse_tree.h Use source_offset_t (uint32) in tokenizer. 2021-12-21 02:32:52 -08:00
parse_util.cpp Fix comment parsing inside command substitutions and brackets 2022-02-08 16:20:31 +01:00
parse_util.h Fix error check for repeated quoted command substitution 2021-12-04 16:56:07 +01:00
parser.cpp sanity.{cpp,h}: remove, entirely unused 2021-12-09 00:41:47 -08:00
parser.h Mark parser_t::principal as const 2021-09-24 21:09:28 -07:00
parser_keywords.cpp builtin _ is now a reserved keyword 2021-10-11 00:27:44 -07:00
parser_keywords.h Make IWYU output in lint.cpp less messy 2016-06-23 17:26:08 -07:00
path.cpp Switch path_get_data_is_remote to returning a real class enum 2021-12-18 20:48:13 -08:00
path.h Switch path_get_data_is_remote to returning a real class enum 2021-12-18 20:48:13 -08:00
postfork.cpp Shebang error: Use /path/to/fish 2021-12-30 13:04:47 +01:00
postfork.h remove accidental change 2021-09-21 18:26:44 -07:00
print_help.cpp Run clang-format on all files 2019-10-13 15:50:48 -07:00
print_help.h restyle proc module to match project style 2016-05-02 22:07:58 -07:00
proc.cpp Fix some extra arguments for string format functions. 2021-12-12 14:06:17 -08:00
proc.h Declare that two "not" keywords cancel each other out 2021-12-28 19:32:30 +01:00
reader.cpp Commit transient edit when history search ends 2022-02-07 17:38:11 +01:00
reader.h builtin commandline: add option to determine if pager is fully disclosed 2021-12-04 22:43:39 +01:00
redirection.cpp Collapse io_data switch statements 2019-12-29 15:51:22 -08:00
redirection.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
screen.cpp Remove is_color_escape_seq 2022-03-13 11:32:53 +01:00
screen.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
signal.cpp Tighten up includes, some typedefs -> using 2021-09-21 18:05:53 -07:00
signal.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
termsize.cpp Include <termios.h> instead of <sys/termios.h>. 2021-03-02 12:05:07 +01:00
termsize.h Eliminate the termsize handling from common.h 2020-06-07 20:00:42 -07:00
timer.cpp Revert changes to time formatting 2022-02-21 22:48:43 +01:00
timer.h Pass some parameters by reference/move 2021-03-21 19:41:36 +01:00
tinyexpr.cpp Merge branch 'master' into te-refactor 2022-03-13 11:24:31 +01:00
tinyexpr.h math: Use wchar 2020-12-14 22:54:53 +01:00
tokenizer.cpp Fix comment parsing inside command substitutions and brackets 2022-02-08 16:20:31 +01:00
tokenizer.h Fix comment parsing inside command substitutions and brackets 2022-02-08 16:20:31 +01:00
topic_monitor.cpp Allow using poll() to check for readability 2022-01-02 16:36:33 -08:00
topic_monitor.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
trace.cpp Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
trace.h Cache if tracing is enabled 2021-10-28 19:39:30 +02:00
utf8.cpp Change C casts to C++ ones 2020-05-01 13:30:56 -07:00
utf8.h [clang-tidy] Fix inconsistent declarations 2019-11-25 14:13:33 -08:00
util.cpp wcsfilecmp: Stop actually computing the numbers 2021-10-07 17:57:52 +02:00
util.h Return glob ordering to pre-3.1 state 2020-02-14 19:06:19 +01:00
wait_handle.cpp Refactor wait handles 2021-05-17 15:25:21 -07:00
wait_handle.h Mild refactoring of wait handles 2021-10-28 10:37:43 -07:00
wcstringutil.cpp fish_wcswidth_visible to use int instead of size_t 2022-02-07 22:17:47 -08:00
wcstringutil.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
wgetopt.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
wgetopt.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
wildcard.cpp Clean up wildcard_has 2021-11-27 12:48:04 -08:00
wildcard.h Clean up wildcard_has 2021-11-27 12:48:04 -08:00
wutil.cpp Allow underscores as separators in the math builtin (#8611) 2022-03-13 11:23:35 +01:00
wutil.h Allow underscores as separators in the math builtin (#8611) 2022-03-13 11:23:35 +01:00