From 1dc5677a419456cc23a5e9fa763fc01c35ff1791 Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Mon, 15 May 2000 13:19:26 +0000 Subject: add _in_vared for completion inside vared; make insert-tab default to `false' there --- Completion/Base/.distfiles | 6 +++--- Completion/Base/_in_vared | 28 ++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100755 Completion/Base/_in_vared (limited to 'Completion/Base') diff --git a/Completion/Base/.distfiles b/Completion/Base/.distfiles index 377a56c82..b447accf4 100644 --- a/Completion/Base/.distfiles +++ b/Completion/Base/.distfiles @@ -1,7 +1,7 @@ DISTFILES_SRC=' .distfiles _arg_compile _argument_sets _arguments _brace_parameter _combination - _command_names _condition _default _describe _equal _first _jobs _math - _parameter _precommand _redirect _regex_arguments _subscript _tilde - _value _values + _command_names _condition _default _describe _equal _first _in_vared + _jobs _math _parameter _precommand _redirect _regex_arguments _subscript + _tilde _value _values ' diff --git a/Completion/Base/_in_vared b/Completion/Base/_in_vared new file mode 100755 index 000000000..4d8e814db --- /dev/null +++ b/Completion/Base/_in_vared @@ -0,0 +1,28 @@ +#compdef -vared- + +local also + +# Completion inside vared. + +if [[ $compstate[vared] = *\[* ]]; then + # vared on an array-element + compstate[parameter]=${compstate[vared]%%\[*} + compstate[context]=-value- + also=value +else + # vared on a parameter, let's see if it is an array + compstate[parameter]=$compstate[vared] + if [[ ${(tP)compstate[vared]} = *(array|assoc)* ]]; then + compstate[context]=array_value + also=-array-value- + else + compstate[context]=value + also=-value- + fi +fi + +# Don't insert TAB in first column. Never. + +compstate[insert]="${compstate[insert]//tab /}" + +_compalso "$also" -- cgit 1.4.1