perf tools: Complete long option names of perf command
authorNamhyung Kim <namhyung@kernel.org>
Tue, 2 Oct 2012 15:21:33 +0000 (00:21 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 2 Oct 2012 21:36:43 +0000 (18:36 -0300)
The main perf binary can receive a number of options that configure
working environment.  Add them to the completion script.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1349191294-6926-3-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/bash_completion

index 3d48cee..bef06f0 100644 (file)
@@ -21,10 +21,16 @@ _perf()
 
        cmd=${COMP_WORDS[0]}
 
-       # List perf subcommands
+       # List perf subcommands or long options
        if [ $COMP_CWORD -eq 1 ]; then
-               cmds=$($cmd --list-cmds)
-               COMPREPLY=( $( compgen -W '$cmds' -- "$cur" ) )
+               if [[ $cur == --* ]]; then
+                       COMPREPLY=( $( compgen -W '--help --version \
+                       --exec-path --html-path --paginate --no-pager \
+                       --perf-dir --work-tree --debugfs-dir' -- "$cur" ) )
+               else
+                       cmds=$($cmd --list-cmds)
+                       COMPREPLY=( $( compgen -W '$cmds' -- "$cur" ) )
+               fi
        # List possible events for -e option
        elif [[ $prev == "-e" && "${COMP_WORDS[1]}" == @(record|stat|top) ]]; then
                cmds=$($cmd list --raw-dump)