From 4c9d37d919bc996fcf0073e70f18ac80be8c5eba Mon Sep 17 00:00:00 2001 From: bitraid Date: Tue, 18 Feb 2025 19:15:03 +0200 Subject: [PATCH] [fish] Reorder functions Move the helper functions to the top of the main function, and the main function commands (bind command) to the bottom. --- shell/key-bindings.fish | 114 ++++++++++++++++++++-------------------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/shell/key-bindings.fish b/shell/key-bindings.fish index 24b23d29..faa85810 100644 --- a/shell/key-bindings.fish +++ b/shell/key-bindings.fish @@ -26,6 +26,63 @@ function fzf_key_bindings $FZF_DEFAULT_OPTS $argv[2..-1] end + function __fzfcmd + test -n "$FZF_TMUX_HEIGHT"; or set -l FZF_TMUX_HEIGHT 40% + if test -n "$FZF_TMUX_OPTS" + echo "fzf-tmux $FZF_TMUX_OPTS -- " + else if test "$FZF_TMUX" = "1" + echo "fzf-tmux -d$FZF_TMUX_HEIGHT -- " + else + echo "fzf" + end + end + + function __fzf_parse_commandline -d 'Parse the current command line token and return split of existing filepath, fzf query, and optional -option= prefix' + set -l dir '.' + set -l query + set -l commandline (commandline -t | string unescape -n) + + # Strip -option= from token if present + set -l prefix (string match -r -- '^-[^\s=]+=' $commandline) + set commandline (string replace -- "$prefix" '' $commandline) + + # Enable home directory expansion of leading ~/ + set commandline (string replace -r -- '^~/' '\$HOME/' $commandline) + + # Escape special characters, except for the $ sign of valid variable names, + # so that the original string with expanded variables is returned after eval. + set commandline (string escape -n -- $commandline) + set commandline (string replace -r -a -- '\\\\\$(?=[\w])' '\$' $commandline) + + # eval is used to do shell expansion on paths + eval set commandline $commandline + + # Combine multiple consecutive slashes into one. + set commandline (string replace -r -a -- '/+' '/' $commandline) + + if test -n "$commandline" + # Strip trailing slash, unless $dir is root dir (/) + set dir (string replace -r -- '(?