Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: custom completion for listing *.tex is not working
- X-seq: zsh-users 17975
- From: Leonardo Barbosa <barbosa.leonardo@xxxxxxxxx>
- To: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- Subject: Re: custom completion for listing *.tex is not working
- Date: Mon, 9 Sep 2013 08:49:59 -0300
- Cc: zsh-users@xxxxxxx
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=KmfHEaNqqgxHAE70+8QereSAqn6mliZhjYxQ6J6YDGE=; b=lpdrcZFPem/Sd74FXrtNpr3wuNkvO69V+ddXy0J2I0yO/weq9eQLjS+0+dRqWcPf/5 6z/ILPo3DnGTQp0piguq9bpvzBQH8Y5BlnoiaXmpwxJdUDUdp4gCmq5pjl4gSbke7LpT RGef9QuePDOKoX/C2yKjqjAocWgfKF0jADy+bBLhoHwKazoD5ZZMxOm4oFoWemckF0uw 09DX1yPGTa+sY/WJ73yb0G5JOOyJcVfV6W1qUfncUMkC0MTVAvvCU1FcJ8UO6Bd/Wg+P YRCjQqD4XVj+aMwriVFJTTK14vOT+8kGJGmiuJjvB+D8MpjaYT6MzA7o8pUNperMlqBL 0VHg==
- In-reply-to: <130903073216.ZM27351@torch.brasslantern.com>
- List-help: <mailto:zsh-users-help@zsh.org>
- List-id: Zsh Users List <zsh-users.zsh.org>
- List-post: <mailto:zsh-users@zsh.org>
- Mailing-list: contact zsh-users-help@xxxxxxx; run by ezmlm
- References: <CAMXWGTwZB9wP4YbuW703sBErWZhRYrb6YpWZ2mGKqtGo08KOVg@mail.gmail.com> <130903073216.ZM27351@torch.brasslantern.com>
Thanks for you prompt answer, Bart. I have tried your suggestion.
zstyle ':completion:*:*:vi:*' file-patterns '*.tex:TeX-files' '%p:all-files'
However, by doing so, it only through TeX files. So if <tab> multiples
times it keeps suggesting the same TeX files, repeatedly, to me. I'd
like TeX files to be priority, but, in case of more <tab>'s, it cycles
through other files in the menu, too.
I saw you example is similar to this example in the zsh manual:
zstyle ':completion:*:*:rm:*' file-patterns \ '*.o:object-files' '%p:all-files'
So in theory, it should have worked. Any idea?
An just one more question, how can i make zsh to highlight the
selected file in the menu while cycling through files?
Best
Leo
On Tue, Sep 3, 2013 at 11:32 AM, Bart Schaefer
<schaefer@xxxxxxxxxxxxxxxx> wrote:
> On Sep 3, 8:11am, Leonardo Barbosa wrote:
> }
> } I have tried this in order to make zsh suggests TeX files first to vi.
> }
> } vi() { command vi ${*:-*.tex(om[1])} }
>
> That doesn't do anything except cause "vi" with no arguments to attempt
> to open the single most recent .tex file in the current directory; it
> has no effect on tab completion.
>
> } zstyle ':completion:*:*:.tex:*' menu yes select
> } zstyle ':completion:*:*:.tex:*' file-sort time
>
> The components of a completer style are (from the manual):
>
> :completion:FUNCTION:COMPLETER:COMMAND:ARGUMENT:tag
>
> Mapping that onto the zstyles above, you've told the completion system
> that a command named ".tex" should use menu selection sorted by time.
> What you want is to have "vi" in that slot.
>
> } However, it doesn't work. Zsh is listing all types of files and not
> } necessarily the TeX ones first.
>
> To do that, you adjust the set of possible tags (that last component of
> the completion style). You can see what the current set of tags for "vi"
> is by:
>
> zsh% vi <ctrl+x h>
> tags in context :completion::complete:vi::
> all-files (_files _default)
>
> That's not very useful, so you can use the file-patterns style to add
> details (see the manual under file-patterns to explain %p):
>
> zstyle ':completion:*:*:vi:*' file-patterns \
> '*.tex:TeX-files' '%p:all-files'
>
> Note that because file-patterns is defining what the tags will become, the
> tag part of the context pattern is always empty for this style.
>
> Now:
>
> torch% vi <ctrl+x h>
> tags in context :completion::complete:vi::
> TeX-files (_files _default)
> all-files (_files _default)
>
> You can further refine this using the tag-order style.
>
> } Could any of you suggest me a hands on tutorial for zsh new completion
> } system?
>
> The most comprehensive is probably the chapter on zsh completion published
> in the "From Bash to Zsh" book. There is also
>
> http://zsh.sourceforge.net/Guide/zshguide06.html#l156
>
> but it doesn't really work through a single increasingly complex example
> the way you might want a tutorial to do.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author