about summary refs log tree commit diff
path: root/Test
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2021-10-23 18:21:24 +0200
committerOliver Kiddle <opk@zsh.org>2021-10-23 18:21:24 +0200
commite40938c1287beaeb6eaeb0a4ce62d786a65930d3 (patch)
tree9f7f039171ca785420196202f3aba6dddd934d51 /Test
parentf414456b7acb9547361c3996ce6b57b465be2b20 (diff)
downloadzsh-e40938c1287beaeb6eaeb0a4ce62d786a65930d3.tar.gz
zsh-e40938c1287beaeb6eaeb0a4ce62d786a65930d3.tar.xz
zsh-e40938c1287beaeb6eaeb0a4ce62d786a65930d3.zip
49499 based on 49496 by Jun T.: fixes to option -A of _arguments
Diffstat (limited to 'Test')
-rw-r--r--Test/Y03arguments.ztst35
1 files changed, 35 insertions, 0 deletions
diff --git a/Test/Y03arguments.ztst b/Test/Y03arguments.ztst
index bf41aead5..ef7a0ec56 100644
--- a/Test/Y03arguments.ztst
+++ b/Test/Y03arguments.ztst
@@ -359,6 +359,12 @@
 0:allowed option before --
 >line: {tst -x }{ --}
 
+ tst_arguments -S '1:one' '2:two'
+ comptest $'tst -- -- \t'
+0:only first of duplicate -- is ignored
+>line: {tst -- -- }{}
+>DESCRIPTION:{two}
+
  tst_arguments -x :word
  comptest $'tst word -\t'
 0:option after a word
@@ -390,6 +396,25 @@
 0:continue completion after rest argument that looks like an option
 >line: {tst -a -x more }{}
 
+ tst_arguments -A '-*' -a -b '*: :(words)'
+ comptest $'tst -x -\t'
+0:word matching -A pattern doesn't exclude options
+>line: {tst -x -}{}
+>DESCRIPTION:{option}
+>NO:{-a}
+>NO:{-b}
+
+ tst_arguments -A '-*' -a -b '1:word:(word)'
+ comptest $'tst -x \t'
+0:unrecognised word matching -A pattern not treated as a rest argument
+>line: {tst -x word }{}
+
+ tst_arguments -A "-*" '(3)-a' '1:one' '2:two' '3:three' '4:four' '*:extra'
+ comptest $'tst x -a \t'
+0:exclusion from option following word matching -A pattern should not apply
+>line: {tst x -a }{}
+>DESCRIPTION:{three}
+
  tst_arguments '*-v'
  comptest $'tst -v -\t'
 0:repeatable options
@@ -478,6 +503,16 @@
 >NO:{-b}
 >NO:{-v}
 
+ tst_arguments -a -b -c '(-a)1:one' '(-b)2:two' '(-c)*:extra'
+ comptest $'tst  x y z\e6\C-b-\t'
+0:exclude option from normal argument to the right of the cursor
+>line: {tst -}{ x y z}
+>DESCRIPTION:{one}
+>DESCRIPTION:{option}
+>NO:{-a}
+>NO:{-b}
+>NO:{-c}
+
  tst_arguments -a - set1 -d - set2 '(set2)-m' -n -o ':arg:(x)' - set2 -x
  comptest $'tst -m \t'
 0:exclude own set from an option