Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: How to disable completion for a builtin? (actually a reserved word) + an apparent bug



On Wed, 2019-07-24 at 17:39 +0200, Sebastian Gniazdowski wrote:
> śr., 24 lip 2019, 17:15 użytkownik Peter Stephenson <p.stephenson@xxxxxxxxxxx> napisał:
> > On Wed, 2019-07-24 at 17:02 +0200, Sebastian Gniazdowski wrote:
> > > On Wed, 24 Jul 2019 at 16:28, Peter Stephenson <p.stephenson@xxxxxxxxxxx> wrote:
> > > > 
> > > > 
> > > > On Wed, 2019-07-24 at 16:18 +0200, Sebastian Gniazdowski wrote:
> > > > > accomplish this?
> > > > unset '_comps[declare]'
> > > Actually that's not what I've meant. I've should have put this more
> > > clearly: how to prevent command `declare' from being completed? Like
> > > if chmod -x /usr/bin/declare?
> > 
> > Either you have a special completion, or it does default completion.
> > If you don't want default completion, you need a compdef for a do-nothing
> > completion function.
> > 
> > pws
> I don't want to change disable's completion. What I want is that:
> 
> % decl<TAB>
> 
> will not try to complete "declare".

declare is usually a builtin.  If you disabled that it should
remove it from the list of enabled builtins and reserved words
and it won't complete.

disable -r declare
disable declare

(they're different because the reserved word needs to do
special parsing for arrays that an ordinary builtin doesn't.)

If you really have an external command called declare, remove
it from the hash table:

unhash declare

pws



Messages sorted by: Reverse Date, Date, Thread, Author