aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2017-05-09 15:28:52 -0400
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2017-05-09 16:11:05 -0400
commit91f5771c3cb04f2aa396ab0c54abb1d4b3403de9 (patch)
treecd5cd36fff414612ae58daa48b18c18db892661b
parent5b52ef38103ec11088863f6288dee1cb9c721b85 (diff)
downloadtrace-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.bash40
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