diff --git a/.config/fish/functions/fish_user_key_bindings.fish b/.config/fish/functions/fish_user_key_bindings.fish index fb90ebf0..b2d26f39 100644 --- a/.config/fish/functions/fish_user_key_bindings.fish +++ b/.config/fish/functions/fish_user_key_bindings.fish @@ -5,4 +5,5 @@ function fish_user_key_bindings end bind \el downcase-word + bind \cw trim_trailing_slashes end diff --git a/.config/fish/functions/trim_trailing_slashes.fish b/.config/fish/functions/trim_trailing_slashes.fish new file mode 100644 index 00000000..9d018a84 --- /dev/null +++ b/.config/fish/functions/trim_trailing_slashes.fish @@ -0,0 +1,10 @@ +# This is useful for rsync when folders have slashes automatically appended to +# them (e.g. with fzf completion). +function trim_trailing_slashes --description "Trim trailing slashes of all commandline tokens" + set -l list (commandline -o) + commandline -r "" + for i in $list + commandline -i -- (string escape (string replace -r '/$' '' $i)) + commandline -i -- ' ' + end +end