diff options
| author | Mica White <botahamec@outlook.com> | 2026-01-31 16:03:57 -0500 |
|---|---|---|
| committer | Mica White <botahamec@outlook.com> | 2026-01-31 16:03:57 -0500 |
| commit | 73a217ffa13aa728f1903b782428f7f522b4539a (patch) | |
| tree | fde1ef460fed0cc6023f8aacebf3d5fb3043b700 /.config/fish/functions/_fzf_wrapper.fish | |
Initial dotfile stuff
Diffstat (limited to '.config/fish/functions/_fzf_wrapper.fish')
| -rw-r--r-- | .config/fish/functions/_fzf_wrapper.fish | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/.config/fish/functions/_fzf_wrapper.fish b/.config/fish/functions/_fzf_wrapper.fish new file mode 100644 index 0000000..486e36c --- /dev/null +++ b/.config/fish/functions/_fzf_wrapper.fish @@ -0,0 +1,21 @@ +function _fzf_wrapper --description "Prepares some environment variables before executing fzf." + # Make sure fzf uses fish to execute preview commands, some of which + # are autoloaded fish functions so don't exist in other shells. + # Use --function so that it doesn't clobber SHELL outside this function. + set -f --export SHELL (command --search fish) + + # If neither FZF_DEFAULT_OPTS nor FZF_DEFAULT_OPTS_FILE are set, then set some sane defaults. + # See https://github.com/junegunn/fzf#environment-variables + set --query FZF_DEFAULT_OPTS FZF_DEFAULT_OPTS_FILE + if test $status -eq 2 + # cycle allows jumping between the first and last results, making scrolling faster + # layout=reverse lists results top to bottom, mimicking the familiar layouts of git log, history, and env + # border shows where the fzf window begins and ends + # height=90% leaves space to see the current command and some scrollback, maintaining context of work + # preview-window=wrap wraps long lines in the preview window, making reading easier + # marker=* makes the multi-select marker more distinguishable from the pointer (since both default to >) + set --export FZF_DEFAULT_OPTS '--cycle --layout=reverse --border --height=90% --preview-window=wrap --marker="*"' + end + + fzf $argv +end |
