fish-shell/share/functions/__fish_cursor_xterm.fish
Fabian Boehm e45bddcbb1 __fish_cursor_xterm: Ignore unknown cursor settings
This prevents leaking the escape sequence by printing nonsense, and it
also allows disabling cursor setting by just setting the variable to
e.g. empty.

And if we ever added any shapes, it would allow them to be used on new
fish and ignored on old

Fixes #9698
2023-03-31 20:07:54 +02:00

20 lines
408 B
Fish

function __fish_cursor_xterm -d 'Set cursor (xterm)'
set -l shape $argv[1]
switch "$shape"
case block
set shape 2
case underscore
set shape 4
case line
set shape 6
case '*'
# Unknown shape
return
end
if contains blink $argv
set shape (math $shape - 1)
end
echo -en "\e[$shape q"
end