mirror of
https://github.com/fish-shell/fish-shell.git
synced 2025-02-06 20:14:16 +08:00
8ca3adaa91
This didn't work on platforms where tput exists but can never accept terminfo names. This includes the current versions of FreeBSD - it used to do both, now it doesn't. So, fall back to the old termcap names by (tput smso; or tput so). Add check for the tput program before we even try.
24 lines
822 B
Fish
24 lines
822 B
Fish
# This is meant to be bound to something like \cC.
|
|
function __fish_cancel_commandline
|
|
set -l cmd (commandline)
|
|
if test -n "$cmd"
|
|
commandline -C 1000000
|
|
# TODO: Switch from using tput and standout mode to `set_color` when themes have been
|
|
# augmented to include support for background colors or has support for standout/reverse
|
|
# mode.
|
|
#
|
|
# Set reverse fg/bg color mode, output ^C, restore normal mode, clear to EOL (to erase any
|
|
# autosuggestion).
|
|
if command -v tput
|
|
echo -ns (tput smso; or tput so) "^C" (tput rmso; or tput se) (tput el; or tput ce)
|
|
else
|
|
echo -n "^C"
|
|
end
|
|
for i in (seq (commandline -L))
|
|
echo ""
|
|
end
|
|
commandline ""
|
|
commandline -f repaint
|
|
end
|
|
end
|