mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-01 06:53:39 +08:00
c02bf2548f
If you're using the old binding that only clears the commandline and doesn't preserve its contents and start a new line, you can use ```fish bind \cc "commandline -f cancel; commandline ''" ``` instead. Closes #4298.
25 lines
679 B
Fish
25 lines
679 B
Fish
# This is meant to be bound to something like \cC.
|
|
function __fish_cancel_commandline
|
|
# Close the pager if it's open (#4298)
|
|
commandline -f cancel
|
|
|
|
set -l cmd (commandline)
|
|
if test -n "$cmd"
|
|
commandline -C 1000000
|
|
if set -q fish_color_cancel
|
|
echo -ns (set_color $fish_color_cancel) "^C" (set_color normal)
|
|
else
|
|
echo -ns "^C"
|
|
end
|
|
if command -sq tput
|
|
# Clear to EOL (to erase any autosuggestion).
|
|
echo -n (tput el; or tput ce)
|
|
end
|
|
for i in (seq (commandline -L))
|
|
echo ""
|
|
end
|
|
commandline ""
|
|
commandline -f repaint
|
|
end
|
|
end
|