From fc135c456d1ba2a39dfb5efe5004102168bef856 Mon Sep 17 00:00:00 2001 From: Hadi Moshayedi Date: Sat, 31 Oct 2015 06:13:33 -0400 Subject: Speed-up bash target auto-complete. These speed-ups include: * Let compgen do the command substitution. Similar to https://lists.gnu.org/archive/html/bug-bash/2012-03/msg00115.html * Use "cut" instead of "awk" for separating fields. --- misc/bash-completion | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/misc/bash-completion b/misc/bash-completion index 0536760..e604cd4 100644 --- a/misc/bash-completion +++ b/misc/bash-completion @@ -49,9 +49,8 @@ _ninja_target() { C) eval dir="$OPTARG" ;; esac done; - targets_command="eval ninja -C \"${dir}\" -t targets all" - targets=$(${targets_command} 2>/dev/null | awk -F: '{print $1}') - COMPREPLY=($(compgen -W "$targets" -- "$cur")) + targets_command="eval ninja -C \"${dir}\" -t targets all 2>/dev/null | cut -d: -f1" + COMPREPLY=($(compgen -W '`${targets_command}`' -- "$cur")) fi return } -- cgit v0.12