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