From b3530d7c4a102935fa26498a160ee1dc6c1e9c03 Mon Sep 17 00:00:00 2001 From: delta Date: Fri, 4 Jul 2025 00:38:29 +0200 Subject: :3 --- .../fish/functions/fish_commandline_toggle.fish | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .config/fish/functions/fish_commandline_toggle.fish (limited to '.config/fish/functions/fish_commandline_toggle.fish') diff --git a/.config/fish/functions/fish_commandline_toggle.fish b/.config/fish/functions/fish_commandline_toggle.fish new file mode 100644 index 0000000..688c97e --- /dev/null +++ b/.config/fish/functions/fish_commandline_toggle.fish @@ -0,0 +1,26 @@ +function __commandline_stash -d 'Stash current command line' + set -g __stash_command_position (commandline -C) + set -g __stash_command (commandline -b) + commandline -r "" +end + +function __commandline_pop -d 'Pop last stashed command line' + if not set -q __stash_command + return + end + commandline -r $__stash_command + if set -q __stash_command_position + commandline -C $__stash_command_position + end + set -e __stash_command + set -e __stash_command_position +end + +function fish_commandline_toggle -d 'Stash current commandline if not empty, otherwise pop last stashed commandline' + set -l cmd (commandline -b) + if test "$cmd" + __commandline_stash + else + __commandline_pop + end +end -- cgit v1.2.3