35 lines
1 KiB
Bash
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
|