]> granicus.if.org Git - clang/commitdiff
[bash-completion] Fix tab separation on macOS
authorBen Langmuir <blangmuir@apple.com>
Thu, 24 May 2018 16:25:40 +0000 (16:25 +0000)
committerBen Langmuir <blangmuir@apple.com>
Thu, 24 May 2018 16:25:40 +0000 (16:25 +0000)
We have a regex that needs to match a tab character in the command
output, but on macOS sed doesn't support '\t', causing it to split on
the 't' character instead. Fix by having bash expand the \t first.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@333202 91177308-0d34-0410-b5e6-96231b3b80d8

utils/bash-autocomplete.sh

index 2042f0b200cf044d3c78ff6d94c08e814cc12fb9..bcda789b1c07c903ba2f05ca6e20a965defa9013 100644 (file)
@@ -38,7 +38,8 @@ _clang()
 
   # expand ~ to $HOME
   eval local path=${COMP_WORDS[0]}
-  flags=$( "$path" --autocomplete="$arg" 2>/dev/null | sed -e 's/\t.*//' )
+  # Use $'\t' so that bash expands the \t for older versions of sed.
+  flags=$( "$path" --autocomplete="$arg" 2>/dev/null | sed -e $'s/\t.*//' )
   # If clang is old that it does not support --autocomplete,
   # fall back to the filename completion.
   if [[ "$?" != 0 ]]; then