On Tue, Aug 07, 2012 at 08:48:04AM -0600, David Ahern wrote: > On 8/7/12 7:19 AM, Frederic Weisbecker wrote: > >Add basic bash completion for the -e option in record, top > >and stat subcommands. Only hardware, software and tracepoint > >events are supported. > > > >Breakpoints, raw events and events grouping completion > >need more thinking. > > > >Signed-off-by: Frederic Weisbecker <[email protected]> > >Cc: David Ahern <[email protected]> > >Cc: Ingo Molnar <[email protected]> > >Cc: Jiri Olsa <[email protected]> > >Cc: Namhyung Kim <[email protected]> > >Cc: Peter Zijlstra <[email protected]> > >Cc: Stephane Eranian <[email protected]> > >--- > > tools/perf/bash_completion | 6 +++- > > tools/perf/builtin-list.c | 14 ++++--- > > tools/perf/util/parse-events.c | 70 > > +++++++++++++++++++++++++--------------- > > tools/perf/util/parse-events.h | 7 ++-- > > 4 files changed, 61 insertions(+), 36 deletions(-) > > > >diff --git a/tools/perf/bash_completion b/tools/perf/bash_completion > >index 3547703..25f4d99 100644 > >--- a/tools/perf/bash_completion > >+++ b/tools/perf/bash_completion > >@@ -6,12 +6,16 @@ _perf() > > local cur > > > > COMPREPLY=() > >- _get_comp_words_by_ref cur > >+ _get_comp_words_by_ref cur prev > > > > # List perf subcommands > > if [ $COMP_CWORD -eq 1 ]; then > > cmds=$(perf --list-cmds) > > COMPREPLY=( $( compgen -W '$cmds' -- "$cur" ) ) > >+ # List possible events for -e option > >+ elif [[ $prev == "-e" && "${COMP_WORDS[1]}" == @(record|stat|top) ]]; > >then > >+ cmds=$(perf list --raw-dump) > >+ COMPREPLY=( $( compgen -W '$cmds' -- $cur ) ) > > # Fall down to list regular files > > else > > _filedir > > Any reason to show a file list except for -i and -o options? e.g.,
Yeah, for example with perf record when you pass a command to launch and profile. In any case I think it's a better idea to keep this as a default. Not breaking the pre-existing default completion in the guarantee that the new completion is going to be more useful than a burden. > > diff --git a/tools/perf/bash_completion b/tools/perf/bash_completion > index 25f4d99..be97349 100644 > --- a/tools/perf/bash_completion > +++ b/tools/perf/bash_completion > @@ -17,7 +17,7 @@ _perf() > cmds=$(perf list --raw-dump) > COMPREPLY=( $( compgen -W '$cmds' -- $cur ) ) > # Fall down to list regular files > - else > + elif [[ $prev == "-o" || $prev == "-i" ]]; then > _filedir > fi > } && > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

