aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Kurtis Rader <krader@skepticism.us>2016-04-29 15:34:10 -0700
committerGravatar Kurtis Rader <krader@skepticism.us>2016-04-30 12:31:57 -0700
commit1cd4731c2dae4bddd06e30d96d9ae9a78ed65ef9 (patch)
tree4914ef09d34de73b4a1ab9c729659b59b28d3549
parent05a432da32ad6c5ff941d7f9a936d53f36c68925 (diff)
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)
-rw-r--r--share/functions/__fish_cancel_commandline.fish19
1 files changed, 19 insertions, 0 deletions
diff --git a/share/functions/__fish_cancel_commandline.fish b/share/functions/__fish_cancel_commandline.fish
new file mode 100644
index 00000000..fb378f25
--- /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