View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000350||tcsh||General||public||2022-05-27 09:02||2022-10-03 17:11|
|Summary||0000350: complete: completion list words do not accept the `/` character.|
|Description||It seems to me completion list words do not accept the `/` character. Escaping it does not seem to work. If there's a correct way to write such expression a small example would be nice, perhaps in the docs or in a test.|
|Steps To Reproduce||Example. Neither of these work to give the expected completion options a/a a/b a/c: |
complete ml 'p/1/(a/a a/b a/c)/'
complete ml 'p/1/"(a/a a/b a/c)"/'
|Tags||No tags attached.|
This seems to work
> complete ml 'p_1_(a/a b/b a/c)_'
a/a a/b a/c
The second character is considered the separator throughout (# seems to work as well).
I'm not entirely sure where in that pretty long section on the `complete` builtin this note would go, I don't think I ever read every word in that section.
I'm not sure what an autotest would test, it requires someone interactively triggering completion options; when you add a completion, it pretty much just stores the string as is and only evaluates it when needed. So 'man page' is probably the correct place to mention this.
I was getting ready to update the man page, but re-reading the section more carefully, I noticed there already is a passing mention to alternative delimiters:
[.........................] For example, the Elm mail program uses
`=' as an abbreviation for one's mail directory. One might use
> complete elm c@=@F:$HOME/Mail/@
to complete `elm -f =' as if it were `elm -f ~/Mail/'. Note
that we used `@' instead of `/' to avoid confusion with the
select argument [...................]