summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2012-10-31 05:01:44 (GMT)
committerEvan Martin <martine@danga.com>2012-10-31 05:01:44 (GMT)
commit7b59651ac72a61f402b6224b7e2a7ba5d3c43b3c (patch)
tree32bf7a712da9b6466a85d4c4b4c1b85bb2f7b630
parentadd27262dead9a86ff1da381e736efb85e0cf192 (diff)
parente6c67528e87f2a0899a3edb5e77432d8ec1aceb9 (diff)
downloadNinja-7b59651ac72a61f402b6224b7e2a7ba5d3c43b3c.zip
Ninja-7b59651ac72a61f402b6224b7e2a7ba5d3c43b3c.tar.gz
Ninja-7b59651ac72a61f402b6224b7e2a7ba5d3c43b3c.tar.bz2
Merge pull request #453 from curinir/bash_completion
Add support for reading directory for bash completion.
-rw-r--r--misc/bash-completion12
1 files changed, 10 insertions, 2 deletions
diff --git a/misc/bash-completion b/misc/bash-completion
index ac4d051..b40136e 100644
--- a/misc/bash-completion
+++ b/misc/bash-completion
@@ -16,9 +16,17 @@
# . path/to/ninja/misc/bash-completion
_ninja_target() {
- local cur targets
+ local cur targets dir line targets_command OPTIND
cur="${COMP_WORDS[COMP_CWORD]}"
- targets=$((ninja -t targets all 2>/dev/null) | awk -F: '{print $1}')
+ dir="."
+ line=$(echo ${COMP_LINE} | cut -d" " -f 2-)
+ while getopts C: opt "${line[@]}"; do
+ case $opt in
+ C) dir="$OPTARG" ;;
+ esac
+ done;
+ targets_command="ninja -C ${dir} -t targets all"
+ targets=$((${targets_command} 2>/dev/null) | awk -F: '{print $1}')
COMPREPLY=($(compgen -W "$targets" -- "$cur"))
return 0
}