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.,
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/