From 1cd4731c2dae4bddd06e30d96d9ae9a78ed65ef9 Mon Sep 17 00:00:00 2001 From: Kurtis Rader Date: Fri, 29 Apr 2016 15:34:10 -0700 Subject: [PATCH] don't use colors when writing the ^C indicator There was an extended discussion in https://github.com/fish-shell/fish-shell/issues/2904 about using a bright yellow background to make the cancelled command indicator, ^C, standout. The upshot was that standout (i.e., reversing fg/bg colors) mode should be used until themes are agumented with proper support for background colors and special characters. (cherry picked from commit a897ef002521a3991adc4342189f0e30a0d048b0) --- .../functions/__fish_cancel_commandline.fish | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 share/functions/__fish_cancel_commandline.fish diff --git a/share/functions/__fish_cancel_commandline.fish b/share/functions/__fish_cancel_commandline.fish new file mode 100644 index 000000000..fb378f250 --- /dev/null +++ b/share/functions/__fish_cancel_commandline.fish @@ -0,0 +1,19 @@ +# 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). + echo (tput smso)"^C"(tput rmso)(tput el) + for i in (seq (commandline -L)) + echo "" + end + commandline "" + commandline -f repaint + end +end