Em Thu, Oct 06, 2016 at 12:23:27PM -0700, Andi Kleen escreveu: > 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 completion. > > For some reason it only works in bash currently, but zsh > is the same as before.
It works partially, for instance, if I try completing: perf stat -e CPL<TAB> I get: perf stat -e CPL_CYCLES.RING0 but if I try: perf stat -e cycles,CPL<TAB> I get nothing :-\ Is this working with you? > v2: Handle conflict with upper case completion patch > 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 3b5a258a4b7b..819a1346689f 100644 > --- a/tools/perf/perf-completion.sh > +++ b/tools/perf/perf-completion.sh > @@ -166,7 +166,11 @@ __perf_main () > [[:upper:]]*) evts=$($cmd list --raw-dump json | tr a-z > A-Z) ;; > *) evts=$($cmd list --raw-dump) ;; > esac > + 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