Re: Is there a way to complete arguments with brace characters without using backslashes or quotes?

Mikael Magnusson <[email protected]>
Newsgroups gmane.comp.shells.zsh.devel,gmane.comp.shells.zsh.user
Message-ID <CAHYJk3SqetmLaH=yUVEMAnS8j7tAQ5+jPbRonYzH-ew=hFukxg@mail.gmail.com>
On Mon, Mar 24, 2025 at 4:48 AM Trevor Avant <[email protected]> wrote:
>
> I've spent a lot of time trying to figure this out, but haven't been able to find a solution. Is there a way to complete the brace characters { or } without having to escape them with a backslash, or put the entire argument in quotes? In other words, I would like to make zsh treat the brace character as it does letter and number characters.
>
> I have tried using the "-Q" flag to compadd, but this doesn't work as I hoped. For example, I set the following for a function named "myfun":
>
> compadd -Q a{b
> compadd -Q a{c
>
> and then entering
>
> $ setopt ignore_braces
> $ myfun <TAB>
>
> will complete to
>
> $ myfun a{
>
> but the two completion options aren't shown.

Works fine here, so you'll probably have the same results if you
change your code to abb abc instead of a{b a{c. Eg, the problem is
something else. Try pressing tab more times, you can configure zsh to
require quite a few presses on ambiguous completion before it starts
cycling, and probably disable it altogether.

-- 
Mikael Magnusson
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.