diff options
author | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2017-05-09 15:28:52 -0400 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2017-05-09 16:11:05 -0400 |
commit | 91f5771c3cb04f2aa396ab0c54abb1d4b3403de9 (patch) | |
tree | cd5cd36fff414612ae58daa48b18c18db892661b | |
parent | 5b52ef38103ec11088863f6288dee1cb9c721b85 (diff) | |
download | trace-cmd-91f5771c3cb04f2aa396ab0c54abb1d4b3403de9.tar.gz |
trace-cmd: Add bash completions for instance buffers for -B option
Several trace-cmd commands use -B to work with buffer instances. When -B is
used in such a way, then have it search the instance directory and list the
available instances.
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rw-r--r-- | trace-cmd.bash | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/trace-cmd.bash b/trace-cmd.bash index 503c8576..40c14718 100644 --- a/trace-cmd.bash +++ b/trace-cmd.bash @@ -1,3 +1,14 @@ +show_instances() +{ + local cur="$1" + local bufs=$(trace-cmd list -B) + if [ "$bufs" == "No buffer instances defined" ]; then + return 0 + fi + COMPREPLY=( $(compgen -W "${bufs}" -- "${cur}") ) + return 0 +} + __trace_cmd_list_complete() { local prev=$1 @@ -38,7 +49,10 @@ __trace_cmd_show_complete() local words=("$@") case "$prev" in - show) + -B) + show_instances "$cur" + ;; + *) local cmds=$(trace-cmd show -h 2>/dev/null|grep "^ *-" | \ sed -e 's/ *\(-[^ ]*\).*/\1/') COMPREPLY=( $(compgen -W "${cmds}" -- "${cur}") ) @@ -46,6 +60,23 @@ __trace_cmd_show_complete() esac } +__trace_cmd_extract_complete() +{ + local prev=$1 + local cur=$2 + shift 2 + local words=("$@") + + case "$prev" in + -B) + show_instances "$cur" + ;; + *) + COMPREPLY=( $(compgen -f -- "${cur}") ) + ;; + esac +} + __trace_cmd_record_complete() { local prev=$1 @@ -77,6 +108,9 @@ __trace_cmd_record_complete() local funcs=$(trace-cmd list -f | sed 's/ .*//') COMPREPLY=( $(compgen -W "${funcs}" -- "${cur}") ) ;; + -B) + show_instances "$cur" + ;; *) # By default, we list files COMPREPLY=( $(compgen -f -- "$cur") ) @@ -117,6 +151,10 @@ _trace_cmd_complete() __trace_cmd_show_complete "${prev}" "${cur}" ${words[@]} return 0 ;; + extract) + __trace_cmd_extract_complete "${prev}" "${cur}" ${words[@]} + return 0 + ;; record) __trace_cmd_record_complete "${prev}" "${cur}" ${words[@]} return 0 |