dotfiles/bash/.bashrc.d/autocomplete
2026-03-30 16:39:56 +02:00

41 lines
1.2 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'
for bash_comp in /etc /usr/share/bash-completion; do
if [ -f "$bash_comp/bash_completion" ]; then
. "$bash_comp/bash_completion"
break
fi
done
}
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
}
setup_completion
setup_fzf