diff --git a/share/functions/__fish_config_interactive.fish b/share/functions/__fish_config_interactive.fish index e26e6bc55..e12c27c04 100644 --- a/share/functions/__fish_config_interactive.fish +++ b/share/functions/__fish_config_interactive.fish @@ -303,6 +303,26 @@ function __fish_config_interactive -d "Initializations that should be performed set -g fish_pager_color_description yellow set -g fish_pager_color_progress cyan + # Don't allow setting color other than what linux offers (see #2001) + functions -e set_color + function set_color --shadow-builtin + set -l term_colors black red green yellow blue magenta cyan white normal + for a in $argv + if not contains -- $a $term_colors + switch $a + # Also allow options + case "-*" + continue + case "*" + echo "Color not valid in TERM = linux: $a" + return 1 + end + end + end + builtin set_color $argv + return $status + end + # Set fish_prompt to a VT-friendly version # without color or unicode function fish_prompt