arch-config/.config/fish/functions/fzf_configure_bindings.fish
nekochemist fe0aa07f3c deleted: .config/QtProject.conf
deleted:    .config/apps-list.md
	modified:   .config/btop/btop.conf
	deleted:    .config/config.kdl
	new file:   .config/fish/completions/fisher.fish
	new file:   .config/fish/completions/fzf_configure_bindings.fish
	new file:   .config/fish/conf.d/fzf.fish
	new file:   .config/fish/fish_plugins
	modified:   .config/fish/fish_variables
	new file:   .config/fish/functions/_fzf_configure_bindings_help.fish
	new file:   .config/fish/functions/_fzf_extract_var_info.fish
	new file:   .config/fish/functions/_fzf_preview_changed_file.fish
	new file:   .config/fish/functions/_fzf_preview_file.fish
	new file:   .config/fish/functions/_fzf_report_diff_type.fish
	new file:   .config/fish/functions/_fzf_report_file_type.fish
	new file:   .config/fish/functions/_fzf_search_directory.fish
	new file:   .config/fish/functions/_fzf_search_git_log.fish
	new file:   .config/fish/functions/_fzf_search_git_status.fish
	new file:   .config/fish/functions/_fzf_search_history.fish
	new file:   .config/fish/functions/_fzf_search_processes.fish
	new file:   .config/fish/functions/_fzf_search_variables.fish
	new file:   .config/fish/functions/_fzf_wrapper.fish
	new file:   .config/fish/functions/fisher.fish
	new file:   .config/fish/functions/fzf_configure_bindings.fish
	new file:   .config/fish/functions/y.fish
	new file:   .config/fish/functions/yz.fish
	new file:   ".config/fish/functions/\320\275\321\217.fish"
	modified:   .config/kitty/kitty.conf
	modified:   .config/niri/config.kdl
	modified:   .config/nvim/lazy-lock.json
	new file:   .config/nvim/lua/plugins/luasnip.lua
	new file:   .config/nvim/lua/plugins/markview.lua
	new file:   .config/nvim/lua/plugins/marp-nvim.lua
	new file:   .config/nvim/lua/plugins/nvim-snippy.lua
	new file:   .config/nvim/lua/plugins/render-markdown.lua
	deleted:    .config/nwg-look/config
	deleted:    .config/zathura/zathurarc
	modified:   apps-list.md
	new file:   background
	renamed:    .config/mimeapps.list -> mimeapps.list
	renamed:    .config/pavucontrol.ini -> pavucontrol.ini
	deleted:    sing-box-03.json
	renamed:    .config/user-dirs.dirs -> user-dirs.dirs
	renamed:    .config/user-dirs.locale -> user-dirs.locale
2025-11-14 05:38:02 +05:00

46 lines
2.6 KiB
Fish

# Always installs bindings for insert and default mode for simplicity and b/c it has almost no side-effect
# https://gitter.im/fish-shell/fish-shell?at=60a55915ee77a74d685fa6b1
function fzf_configure_bindings --description "Installs the default key bindings for fzf.fish with user overrides passed as options."
# no need to install bindings if not in interactive mode or running tests
status is-interactive || test "$CI" = true; or return
set -f options_spec h/help 'directory=?' 'git_log=?' 'git_status=?' 'history=?' 'processes=?' 'variables=?'
argparse --max-args=0 --ignore-unknown $options_spec -- $argv 2>/dev/null
if test $status -ne 0
echo "Invalid option or a positional argument was provided." >&2
_fzf_configure_bindings_help
return 22
else if set --query _flag_help
_fzf_configure_bindings_help
return
else
# Initialize with default key sequences and then override or disable them based on flags
# index 1 = directory, 2 = git_log, 3 = git_status, 4 = history, 5 = processes, 6 = variables
set -f key_sequences \e\cf \e\cl \e\cs \cr \e\cp \cv # \c = control, \e = escape
set --query _flag_directory && set key_sequences[1] "$_flag_directory"
set --query _flag_git_log && set key_sequences[2] "$_flag_git_log"
set --query _flag_git_status && set key_sequences[3] "$_flag_git_status"
set --query _flag_history && set key_sequences[4] "$_flag_history"
set --query _flag_processes && set key_sequences[5] "$_flag_processes"
set --query _flag_variables && set key_sequences[6] "$_flag_variables"
# If fzf bindings already exists, uninstall it first for a clean slate
if functions --query _fzf_uninstall_bindings
_fzf_uninstall_bindings
end
for mode in default insert
test -n $key_sequences[1] && bind --mode $mode $key_sequences[1] _fzf_search_directory
test -n $key_sequences[2] && bind --mode $mode $key_sequences[2] _fzf_search_git_log
test -n $key_sequences[3] && bind --mode $mode $key_sequences[3] _fzf_search_git_status
test -n $key_sequences[4] && bind --mode $mode $key_sequences[4] _fzf_search_history
test -n $key_sequences[5] && bind --mode $mode $key_sequences[5] _fzf_search_processes
test -n $key_sequences[6] && bind --mode $mode $key_sequences[6] "$_fzf_search_vars_command"
end
function _fzf_uninstall_bindings --inherit-variable key_sequences
bind --erase -- $key_sequences
bind --erase --mode insert -- $key_sequences
end
end
end