Skip to content
Snippets Groups Projects
Commit db540251 authored by Yuka Takahashi's avatar Yuka Takahashi
Browse files

[Bash-autocompletion] Fixed a bug on bash

Summary: Maybe I mismerged when merging previous commits by hand.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@308091 91177308-0d34-0410-b5e6-96231b3b80d8
parent 07af1d2a
No related branches found
No related tags found
No related merge requests found
......@@ -20,18 +20,21 @@ _clang()
cur="${COMP_WORDS[$cword]}"
fi
# bash always separates '=' as a token even if there's no space before/after '='.
# On the other hand, '=' is just a regular character for clang options that
# contain '='. For example, "-stdlib=" is defined as is, instead of "-stdlib" and "=".
# So, we need to partially undo bash tokenization here for integrity.
w1="${COMP_WORDS[$cword - 1]}"
if [[ $cword > 1 ]]; then
w2="${COMP_WORDS[$cword - 2]}"
fi
# Clang want to know if -cc1 or -Xclang option is specified or not, because we don't want to show
# cc1 options otherwise.
if [[ "${COMP_WORDS[1]}" == "-cc1" || "$w1" == "-Xclang" ]]; then
arg="#"
fi
# bash always separates '=' as a token even if there's no space before/after '='.
# On the other hand, '=' is just a regular character for clang options that
# contain '='. For example, "-stdlib=" is defined as is, instead of "-stdlib" and "=".
# So, we need to partially undo bash tokenization here for integrity.
if [[ "$cur" == -* ]]; then
# -foo<tab>
arg="$arg$cur"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment