aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/perf/perf-completion.sh36
1 files changed, 30 insertions, 6 deletions
diff --git a/tools/perf/perf-completion.sh b/tools/perf/perf-completion.sh
index bdd40350870a..3ba80b2359cc 100644
--- a/tools/perf/perf-completion.sh
+++ b/tools/perf/perf-completion.sh
@@ -47,8 +47,16 @@ __my_reassemble_comp_words_by_ref()
47 done 47 done
48} 48}
49 49
50type _get_comp_words_by_ref &>/dev/null || 50# Define preload_get_comp_words_by_ref="false", if the function
51_get_comp_words_by_ref() 51# __perf_get_comp_words_by_ref() is required instead.
52preload_get_comp_words_by_ref="true"
53
54if [ $preload_get_comp_words_by_ref = "true" ]; then
55 type _get_comp_words_by_ref &>/dev/null ||
56 preload_get_comp_words_by_ref="false"
57fi
58[ $preload_get_comp_words_by_ref = "true" ] ||
59__perf_get_comp_words_by_ref()
52{ 60{
53 local exclude cur_ words_ cword_ 61 local exclude cur_ words_ cword_
54 if [ "$1" = "-n" ]; then 62 if [ "$1" = "-n" ]; then
@@ -76,8 +84,16 @@ _get_comp_words_by_ref()
76 done 84 done
77} 85}
78 86
79type __ltrim_colon_completions &>/dev/null || 87# Define preload__ltrim_colon_completions="false", if the function
80__ltrim_colon_completions() 88# __perf__ltrim_colon_completions() is required instead.
89preload__ltrim_colon_completions="true"
90
91if [ $preload__ltrim_colon_completions = "true" ]; then
92 type __ltrim_colon_completions &>/dev/null ||
93 preload__ltrim_colon_completions="false"
94fi
95[ $preload__ltrim_colon_completions = "true" ] ||
96__perf__ltrim_colon_completions()
81{ 97{
82 if [[ "$1" == *:* && "$COMP_WORDBREAKS" == *:* ]]; then 98 if [[ "$1" == *:* && "$COMP_WORDBREAKS" == *:* ]]; then
83 # Remove colon-word prefix from COMPREPLY items 99 # Remove colon-word prefix from COMPREPLY items
@@ -97,7 +113,11 @@ __perfcomp ()
97__perfcomp_colon () 113__perfcomp_colon ()
98{ 114{
99 __perfcomp "$1" "$2" 115 __perfcomp "$1" "$2"
100 __ltrim_colon_completions $cur 116 if [ $preload__ltrim_colon_completions = "true" ]; then
117 __ltrim_colon_completions $cur
118 else
119 __perf__ltrim_colon_completions $cur
120 fi
101} 121}
102 122
103__perf_prev_skip_opts () 123__perf_prev_skip_opts ()
@@ -226,7 +246,11 @@ type perf &>/dev/null &&
226_perf() 246_perf()
227{ 247{
228 local cur words cword prev 248 local cur words cword prev
229 _get_comp_words_by_ref -n =: cur words cword prev 249 if [ $preload_get_comp_words_by_ref = "true" ]; then
250 _get_comp_words_by_ref -n =: cur words cword prev
251 else
252 __perf_get_comp_words_by_ref -n =: cur words cword prev
253 fi
230 __perf_main 254 __perf_main
231} && 255} &&
232 256