# Please add "source /path/to/bash-autocomplete.sh" to your .bashrc to use this. | |
_clang() | |
{ | |
local cur prev words cword arg | |
_init_completion -n : || return | |
local w1="${COMP_WORDS[$cword - 1]}" | |
local w2="${COMP_WORDS[$cword - 2]}" | |
if [[ "$cur" == -* ]]; then | |
# -foo<tab> | |
arg="$cur" | |
elif [[ "$w1" == -* && "$cur" == '=' ]]; then | |
# -foo=<tab> | |
arg="$w1=," | |
elif [[ "$w1" == -* ]]; then | |
# -foo <tab> or -foo bar<tab> | |
arg="$w1,$cur" | |
elif [[ "$w2" == -* && "$w1" == '=' ]]; then | |
# -foo=bar<tab> | |
arg="$w2=,$cur" | |
else | |
_filedir | |
fi | |
flags=$( /home/yamaguchi/test-build/bin/clang-5.0 --autocomplete="$arg" ) | |
if [[ "$cur" == "=" ]]; then | |
COMPREPLY=( $( compgen -W "$flags" -- "") ) | |
elif [[ "$flags" == "" ]]; then | |
_filedir | |
else | |
if [[ ${flags: -1} == "=" ]]; then | |
compopt -o nospace | |
fi | |
COMPREPLY=( $( compgen -W "$flags" -- "$cur" ) ) | |
fi | |
} | |
complete -F _clang clang |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment