fish-shell/share/functions/__fish_cursor_xterm.fish
Fabian Boehm b4fccb114c __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

(cherry picked from commit e45bddcbb1)
2023-09-08 19:57:56 +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