Skip to content

Commit

Permalink
[Bash-autocompletion] Check clang version in Bash
Browse files Browse the repository at this point in the history
Summary:
Add check if user's clang version supports --autocomplete or not.
If not, we just autocomplete files.

Reviewers: ruiu, v.g.vassilev, teemperor

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D34607

llvm-svn: 306555
  • Loading branch information
yamaguchi1024 committed Jun 28, 2017
1 parent 66d9bdb commit 79d21c2
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions clang/utils/bash-autocomplete.sh
@@ -1,7 +1,7 @@
# Please add "source /path/to/bash-autocomplete.sh" to your .bashrc to use this.
_clang()
{
local cur prev words cword arg
local cur prev words cword arg flags
_init_completion -n : || return

# bash always separates '=' as a token even if there's no space before/after '='.
Expand All @@ -24,7 +24,14 @@ _clang()
arg="$w2=,$cur"
fi

local flags=$( clang --autocomplete="$arg" )
flags=$( clang --autocomplete="$arg" 2>/dev/null )
# If clang is old that it does not support --autocomplete,
# fall back to the filename completion.
if [[ "$?" != 0 ]]; then
_filedir
return
fi

if [[ "$cur" == '=' ]]; then
COMPREPLY=( $( compgen -W "$flags" -- "") )
elif [[ "$flags" == "" || "$arg" == "" ]]; then
Expand Down

0 comments on commit 79d21c2

Please sign in to comment.