lkml.org 
[lkml]   [2012]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH 2/2] perf tools: Support for events bash completion
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 <fweisbec@gmail.com>
> Cc: David Ahern <dsahern@gmail.com>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: Jiri Olsa <jolsa@redhat.com>
> Cc: Namhyung Kim <namhyung@gmail.com>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Cc: Stephane Eranian <eranian@google.com>
> ---
> 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.,

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
} &&


\
 
 \ /
  Last update: 2012-08-07 17:22    [W:0.074 / U:0.680 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site