diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2017-11-06 23:31:50 +1300 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2017-11-06 23:33:34 +1300 |
commit | b074e1d55a5acaeaaf6402a87e0cb45de16a8911 (patch) | |
tree | 1f6e10e149fc59ba18cc26374e7e2d928cb53bca | |
parent | Merge branch 'feature/vim-plug-com' into develop (diff) | |
download | dotfiles-b074e1d55a5acaeaaf6402a87e0cb45de16a8911.tar.gz dotfiles-b074e1d55a5acaeaaf6402a87e0cb45de16a8911.zip |
Break bash/bashrc.d/completion.bash inline lists
Break the sometimes long list of target keywords after the `complete`
builtin and its options into newline-separated lists. This should make
reading these lists a little easier, and also confuses Vim's syntax
highlighting somewhat less.
-rw-r--r-- | bash/bashrc.d/completion.bash | 85 |
1 files changed, 66 insertions, 19 deletions
diff --git a/bash/bashrc.d/completion.bash b/bash/bashrc.d/completion.bash index 51de24b8..eaf6c5f5 100644 --- a/bash/bashrc.d/completion.bash +++ b/bash/bashrc.d/completion.bash @@ -4,53 +4,100 @@ # If COMP_WORDBREAKS has a value, strip all colons from it; this allows # completing filenames correctly, since a colon is not a shell metacharacter: # <http://tiswww.case.edu/php/chet/bash/FAQ> (E13) -[[ -n $COMP_WORDBREAKS ]] && COMP_WORDBREAKS=${COMP_WORDBREAKS//:} +if [[ -n $COMP_WORDBREAKS ]] ; then + COMP_WORDBREAKS=${COMP_WORDBREAKS//:} +fi # If ~/.hosts exists, use that as the host completion file rather than # /etc/hosts, so I can populate the list myself -[[ -f $HOME/.hosts ]] && HOSTFILE=$HOME/.hosts +if [[ -f $HOME/.hosts ]] ; then + HOSTFILE=$HOME/.hosts +fi # Aliases -complete -A alias unalias +complete -A alias \ + unalias # Bash builtins -complete -A builtin builtin -complete -A enabled disable -complete -A disabled enable +complete -A builtin \ + builtin +complete -A enabled \ + disable +complete -A disabled \ + enable # Bash options -complete -A setopt set +complete -A setopt \ + set # Commands -complete -A command alias command complete compopt coproc exec if hash time \ - type until while +complete -A command \ + alias \ + command \ + complete \ + compopt \ + coproc \ + exec \ + if \ + hash \ + time \ + type \ + until \ + while # Directories -complete -A directory cd pushd mkdir rmdir +complete -A directory \ + cd \ + pushd \ + mkdir \ + rmdir # Functions and variables -complete -A function function -complete -A function -A variable declare export local readonly typeset unset -complete -A variable for getopts let read select +complete -A function \ + function +complete -A function -A variable \ + declare \ + export \ + local \ + readonly \ + typeset \ + unset +complete -A variable \ + for \ + getopts \ + let \ + read \ + select # Help topics complete -A helptopic help # Jobspecs -complete -P '%' -A job disown fg jobs -complete -P '%' -A stopped bg +complete -P '%' -A job \ + disown \ + fg \ + jobs +complete -P '%' -A stopped \ + bg # Readline bindings -complete -A binding bind +complete -A binding \ + bind # Shell options -complete -A shopt shopt +complete -A shopt \ + shopt # Signal names -complete -A signal trap +complete -A signal \ + trap # The `mapfile` builtin in Bash >= 4.0 -((BASH_VERSINFO[0] >= 4)) && complete -A arrayvar mapfile readarray +if ((BASH_VERSINFO[0] >= 4)) ; then + complete -A arrayvar \ + mapfile \ + readarray +fi # If we have dynamic completion loading (Bash>=4.0), use it if ((BASH_VERSINFO[0] >= 4)) ; then |