[PATCH 2/2] perf, tools: Fix completion script to handle comma list

From: Andi Kleen
Date: Sun Sep 18 2016 - 14:18:36 EST


From: Andi Kleen <ak@xxxxxxxxxxxxxxx>

The perf event completion script only handled a single event per
-e option. So for "perf stat -e cycles,branches" branches could
not be completed.

Fix that issue by always only using the last suffix.

For some reason it only works in bash currently, but zsh
is the same as before.

Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx>
---
tools/perf/perf-completion.sh | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/tools/perf/perf-completion.sh b/tools/perf/perf-completion.sh
index 3ba80b2359cc..14c2be73b6fd 100644
--- a/tools/perf/perf-completion.sh
+++ b/tools/perf/perf-completion.sh
@@ -162,7 +162,11 @@ __perf_main ()
elif [[ $prev == @("-e"|"--event") &&
$prev_skip_opts == @(record|stat|top) ]]; then
evts=$($cmd list --raw-dump)
+ old="$cur"
+ cur="${cur/*[,{]/}"
+ prefix=${old%$cur}
__perfcomp_colon "$evts" "$cur"
+ COMPREPLY=("${prefix}${COMPREPLY[0]}")
else
# List subcommands for perf commands
if [[ $prev_skip_opts == @(kvm|kmem|mem|lock|sched|
--
2.5.5