Teach zsh to complete intermediary targets.
authorNicolas Despres <nicolas.despres@gmail.com>
Thu, 24 Dec 2015 15:47:33 +0000 (16:47 +0100)
committerNicolas Despres <nicolas.despres@gmail.com>
Thu, 24 Dec 2015 15:53:05 +0000 (16:53 +0100)
Bash completion script uses "-t targets all" to list the target which
is faster than "-t targets" and reports intermediary targets
(see the manual entry for the 'targets' tool).

See commit fc135c45.

misc/zsh-completion

index ad7b87f..446e269 100644 (file)
@@ -22,8 +22,8 @@ __get_targets() {
   then
     eval dir="${opt_args[-C]}"
   fi
-  targets_command="ninja -C \"${dir}\" -t targets"
-  eval ${targets_command} 2>/dev/null | sed "s/^\(.*\): .*$/\1/"
+  targets_command="ninja -C \"${dir}\" -t targets all"
+  eval ${targets_command} 2>/dev/null | cut -d: -f1
 }
 
 __get_tools() {
@@ -65,4 +65,3 @@ _arguments \
   '-d+[Enable debugging (use -d list to list modes)]:modes:__modes' \
   '-t+[Run a subtool (use -t list to list subtools)]:tools:__tools' \
   '*::targets:__targets'
-