From: Andi Kleen <a...@linux.intel.com>

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 <a...@linux.intel.com>
---
 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

Reply via email to