Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: A couple completion glitches
- X-seq: zsh-workers 12058
 
- From: "Bart Schaefer" <schaefer@xxxxxxxxxxxxxxxxxxxxxxx>
 
- To: Wayne Davison <wayned@xxxxxxxxxxxxxxxxxxxxx>,        Zsh Workers <zsh-workers@xxxxxxxxxxxxxx>
 
- Subject: Re: A couple completion glitches
 
- Date: Sat, 24 Jun 2000 23:00:22 +0000
 
- In-reply-to: <Pine.LNX.4.21.0006241215430.3626-100000@xxxxxxxxxxxxxxx>
 
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
 
- References: <Pine.LNX.4.21.0006241215430.3626-100000@xxxxxxxxxxxxxxx>
 
On Jun 24, 12:54pm, Wayne Davison wrote:
} Subject: A couple completion glitches
}
} I've noticed that the new completion system won't ever complete a name
} that matches the $fignore list, even if it is the only completion
} possible.
Yes, that's correct.  To get the new completion system to act like the
old one, you need something like
    zstyle ':completion:*:all-files' ignored-patterns \*$^fignore
} Secondly, there seems to be an inconsistency in the handling of glob
} characters.  For instance:
} 
}     % autoload -U compinit
}     % compinit -D
}     % zstyle ':completion:*' completer _expand _complete
}     % bindkey '^i' complete-word
}     % cd ~
}     % touch foo{1..3}
}     % ls ~/foo*<tab>
} 
} ...and nothing happens!
I was about to say that you need to set the suffix style, but that does
not work either.
Hmm; looks like there's a bug in `zstyle -T', though I have no idea how
that crept in.  Look here:
zagzig% zstyle -L
zstyle ':completion:*' completer _expand _complete
zstyle ':completion:*:expand:*' suffix yes
zagzig% zstyle -t :completion::expand::: suffix && echo suffix is set  
suffix is set
zagzig% zstyle -T :completion::expand::: suffix && echo suffix not set
suffix not set
It shouldn't be possible for them both to return true.
} One more inconsistency results from the same setup, and this expansion:
} 
}     % ls foo?<tab>
} 
} In my mind, I would like it to always order the full expansion and the
} original string into the same places, regardless of ASCII order (to
} make it more consistent).  Perhaps always put the multi-item expansion
} first and the original string last?
This could be accomplished by having _expand put the original string in
its own compadd group.  That means a bit of restructuring of _expand to
store the original string separately until it is known whether there are
any other expansions possible.
-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com
Zsh: http://www.zsh.org | PHPerl Project: http://phperl.sourceforge.net   
Messages sorted by:
Reverse Date,
Date,
Thread,
Author