summaryrefslogtreecommitdiffstats
path: root/clang/utils/bash-autocomplete.sh
diff options
context:
space:
mode:
authorYuka Takahashi <yukatkh@gmail.com>2017-07-26 13:30:36 +0000
committerYuka Takahashi <yukatkh@gmail.com>2017-07-26 13:30:36 +0000
commit8c000110cf3a858aa34bff1ea63f17daba4f41bb (patch)
treed98d2bc03880e0c47d051e11e5f16fd8552fcb6b /clang/utils/bash-autocomplete.sh
parentd3077a94a84bbe8c20da5ef66a6f4094ee94ccff (diff)
downloadbcm5719-llvm-8c000110cf3a858aa34bff1ea63f17daba4f41bb.tar.gz
bcm5719-llvm-8c000110cf3a858aa34bff1ea63f17daba4f41bb.zip
[Bash-completion] Fixed a bug that file doesn't autocompleted after =
Summary: File path wasn't autocompleted after `-fmodule-cache-path=[tab]`, so fixed this bug by checking if $flags contains only a newline or not. Differential Revision: https://reviews.llvm.org/D35763 llvm-svn: 309112
Diffstat (limited to 'clang/utils/bash-autocomplete.sh')
-rw-r--r--clang/utils/bash-autocomplete.sh10
1 files changed, 7 insertions, 3 deletions
diff --git a/clang/utils/bash-autocomplete.sh b/clang/utils/bash-autocomplete.sh
index 72531b99e3d..83c168bf764 100644
--- a/clang/utils/bash-autocomplete.sh
+++ b/clang/utils/bash-autocomplete.sh
@@ -65,10 +65,14 @@ _clang()
return
fi
- if [[ "$cur" == '=' ]]; then
- COMPREPLY=( $( compgen -W "$flags" -- "") )
- elif [[ "$flags" == "" || "$arg" == "" ]]; then
+ # When clang does not emit any possible autocompletion, or user pushed tab after " ",
+ # just autocomplete files.
+ if [[ "$flags" == "$(echo -e '\n')" || "$arg" == "" ]]; then
+ # If -foo=<tab> and there was no possible values, autocomplete files.
+ [[ "$cur" == '=' || "$cur" == -*= ]] && cur=""
_clang_filedir
+ elif [[ "$cur" == '=' ]]; then
+ COMPREPLY=( $( compgen -W "$flags" -- "") )
else
# Bash automatically appends a space after '=' by default.
# Disable it so that it works nicely for options in the form of -foo=bar.
OpenPOWER on IntegriCloud