# perf completion

have perf &&
_perf()
{
	local cur cmd

	COMPREPLY=()
	_get_comp_words_by_ref cur prev

	cmd=${COMP_WORDS[0]}

	# List perf subcommands
	if [ $COMP_CWORD -eq 1 ]; then
		cmds=$($cmd --list-cmds)
		COMPREPLY=( $( compgen -W '$cmds' -- "$cur" ) )
	# List possible events for -e option
	elif [[ $prev == "-e" && "${COMP_WORDS[1]}" == @(record|stat|top) ]]; then
		cmds=$($cmd list --raw-dump)
		COMPREPLY=( $( compgen -W '$cmds' -- "$cur" ) )
	# Fall down to list regular files
	else
		_filedir
	fi
} &&
complete -F _perf perf
