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/

Reply via email to