blob: 1958fa539d0f8085f64e897c448ba2ac59eef956 [file] [log] [blame]
Frederic Weisbecker98a41792012-08-09 16:31:51 +02001# perf completion
2
3have perf &&
4_perf()
5{
6 local cur cmd
7
8 COMPREPLY=()
Frederic Weisbeckera3277d22012-08-09 16:31:52 +02009 _get_comp_words_by_ref cur prev
Frederic Weisbecker98a41792012-08-09 16:31:51 +020010
11 cmd=${COMP_WORDS[0]}
12
13 # List perf subcommands
14 if [ $COMP_CWORD -eq 1 ]; then
15 cmds=$($cmd --list-cmds)
16 COMPREPLY=( $( compgen -W '$cmds' -- "$cur" ) )
Frederic Weisbeckera3277d22012-08-09 16:31:52 +020017 # List possible events for -e option
18 elif [[ $prev == "-e" && "${COMP_WORDS[1]}" == @(record|stat|top) ]]; then
19 cmds=$($cmd list --raw-dump)
20 COMPREPLY=( $( compgen -W '$cmds' -- "$cur" ) )
Frederic Weisbecker98a41792012-08-09 16:31:51 +020021 # Fall down to list regular files
22 else
23 _filedir
24 fi
25} &&
26complete -F _perf perf