dotfiles/bash/.bashrc.d/autocomplete
2026-03-28 23:29:53 +01:00

35 lines
1 KiB
Bash

#!/usr/bin/env bash
function setup_completion() {
[[ $- == *i* ]] || return
bind 'set colored-stats on'
bind 'set visible-stats on'
bind 'set mark-symlinked-directories on'
bind 'set colored-completion-prefix on'
bind 'set show-all-if-ambiguous on'
bind 'set completion-ignore-case on'
bind 'set page-completions off'
bind 'set menu-complete-display-prefix on'
bind 'set completion-query-items -1'
bind 'TAB:menu-complete'
bind '"\e[Z":menu-complete-backward'
export COMP_WORDBREAKS="${COMP_WORDBREAKS//\/}"
bind 'set mark-directories on'
bind 'set mark-symlinked-directories on'
}
function setup_fzf() {
local fzf_dir
for fzf_dir in /usr/share/fzf /usr/share/doc/fzf/examples; do
if [ -d "$fzf_dir" ]; then
[ -f "$fzf_dir/key-bindings.bash" ] && . "$fzf_dir/key-bindings.bash"
[ -f "$fzf_dir/completion.bash" ] && . "$fzf_dir/completion.bash"
return
fi
done
}
. /etc/bash_completion
setup_completion
setup_fzf