zsh-users
 help / color / mirror / code / Atom feed
From: Aleksandrina Nikolova <infinite.craziness@gmail.com>
To: zsh-users@zsh.org
Subject: Re: mkdir completion not offering ignored patterns
Date: Mon, 13 Apr 2015 08:09:23 +1000	[thread overview]
Message-ID: <552AED13.7070806@gmail.com> (raw)
In-Reply-To: <150412101826.ZM21679@torch.brasslantern.com>

[-- Attachment #1: Type: text/plain, Size: 1690 bytes --]


On 13/04/15 03:18, Bart Schaefer wrote:
>
>> I have set the
>> completion system to ignore hidden files and only show them when there
>> are no other options (no other files in the listed directory or I
>> explicitly type . at the beginning).
> This actually should be the default behavior with no ignored-patterns set
> at all.
Oh, sorry about this, I thought the options I have set don't affect the 
style in particular, but you're right. I attach a more complete .zshrc 
with the options I have set as well.
> Once I got that straight I was able to find the real reason for:
>
>> It works perfectly with all
>> commands but mkdir, which simply refuses to offer hidden files, ever.
> Which turns out to be that _mkdir calls _message which breaks out of the
> loop over _completers in _main_complete, so the _ignored completer in your
> style is never reached.
>
> This would not happen if you did not have a "format" style for the context
> with tag "descriptions" (which is used as a fallback for tag "messages").
>
> _message really ought to be called only when there is no possibility of
> other completions being generated, not merely to suggest what ought to
> be typed at that point.  Either that or it needs some option (the inverse
> of "_message -e"?) that tells _main_complete to continue even though a
> message is pending.
>
> There is at least a workaround:
>
>     zstyle ':completion::*:mkdir::messages' format ''
Great find! Although that workaround did not work for me, the one that 
did (a more ugly one, but...) was to simply remove the call to _messages:
functions[_mkdir]="${functions[_mkdir]:s/ || _message 'name of directory'/}"
And now it works great. Thank you!

[-- Attachment #2: zshrc --]
[-- Type: text/plain, Size: 4181 bytes --]

######## COMPLETION, EXPANSION & MATCHING #########

autoload -Uz compinit
compinit
autoload +X _mkdir
functions[_mkdir]="${functions[_mkdir]:s/ || _message 'name of directory'/}"
setopt extendedglob

zstyle :compinstall filename '/home/aleksandrina/.zshrc'
zstyle ':completion:*' completer _expand _complete _prefix _ignored _complete:-separators _match _approximate
zstyle ':completion:*:expand:*' add-space true
zstyle ':completion:*:prefix:*' add-space false
zstyle ':completion:*' accept-exact false
zstyle ':completion:*' accept-exact-dirs false
zstyle ':completion:*:paths' ambiguous true
zstyle ':completion:*' insert-tab false
zstyle ':completion:*' insert-unambiguous true
zstyle ':completion:*' last-prompt true
zstyle ':completion:*' list-dirs-first true
zstyle ':completion:*' list-grouped true
zstyle ':completion:*' list-packed true
zstyle ':completion:*' list-suffixes true
zstyle ':completion:*' list-separator '#'
zstyle ':completion:*' original true
zstyle ':completion:*' path-completion true
zstyle ':completion:*' rehash true
zstyle ':completion:*' remove-all-dups true
zstyle ':completion:*' prefix-hidden false
zstyle ':completion:*' squeeze-slashes false
zstyle ':completion:*' expand suffix
zstyle ':completion:*' fake-parameters 'DISPLAY:scalar'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' list-colors ${(s.:.)~~LS_COLORS}
zstyle ':completion:*' list-prompt %Smatch %M, line %L: Hit '<TAB>' for more, or the character to insert%s
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' menu select=2
zstyle ':completion:*' auto-description true
zstyle ':completion:*' verbose true
zstyle ':completion:*' word false
zstyle ':completion:*:auto-describe' format 'specify: %d'
zstyle ':completion:*:descriptions' format '
%F{cyan}%B%d:%b%f'
zstyle ':completion:*:-command-:*' completer _expand _complete _prefix _match _approximate _history _ignored
zstyle ':completion:*:-command-:*' group-order aliases functions builtins commands
zstyle ':completion:*:-command-:*' tag-order "aliases suffix-aliases reserved-words functions:-non-ignored builtins commands" parameters functions
zstyle ':completion:*:functions-non-ignored' ignored-patterns '_*'
zstyle ':completion:*:complete-separators:*' matcher-list '' 'r:|[._-]=** r:[^[:upper:]0-9]||[[:upper:]0-9]=** r:|=** l:|=**' '+m:{[:lower:][:upper:]}={[:upper:][:lower:]}'
zstyle ':completion:*:approximate:*' max-errors 1 numeric
zstyle ':completion:*:correct:*' max-errors 3 numeric
zstyle ':completion:*:expand:*' glob true
zstyle ':completion:*:expand:*' substitute true
zstyle ':completion:*:expand:*' suffix true
zstyle ':completion:*:expand:*' tag-order expansions
zstyle ':completion:*:match:*' match-original true
zstyle ':completion:*:ignore:*' single-ignored menu
zstyle ':completion:*:cd:*' tag-order local-directories "path-directories named-directories directory-stack users"
zstyle ':completion:*:((*-|)files|(*-|)directories)' ignored-patterns '(*/|).[^/]##'
zstyle ':completion:*:jobs' prefix-needed false
zstyle ':completion:*:jobs' numbers true
zstyle ':completion:*:processes' list-colors '=(#b) #([0-9]#)*=0=01'
zstyle ':completion:*:processes' insert-ids single
(( $UID )) && zstyle ':completion:*:processes' command "ps -u $USER" \
		     || zstyle ':completion:*:processes' command 'ps -e'
zstyle ':completion:*:sudo::' environ PATH="/sbin:/usr/sbin:$PATH" HOME="/root"
zstyle ':completion:*' complete true		# _expand_alias
zstyle ':completion:*' complete-options false	# cd, pushd
zstyle ':completion:*' stop true		# _history_complete_word
zstyle ':completion:*' recent-dirs-insert fallback
zstyle ':chpwd:*' recent-dirs-default true

setopt autocd cdablevars chasedots chaselinks
unsetopt autoremoveslash listtypes

setopt braceccl cshnullglob extendedglob globassign globdots globsubst histsubstpattern numericglobsort rcexpandparam rematchpcre

setopt extendedhistory histexpiredupsfirst histignoredups histignorespace histreduceblanks incappendhistory sharehistory
unsetopt histbeep

setopt interactivecomments promptsubst rcquotes
unsetopt beep

unsetopt checkjobs hup

setopt autopushd pushdignoredups pushdsilent

      reply	other threads:[~2015-04-12 22:09 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-11  5:44 Aleksandrina Nikolova
2015-04-11 20:44 ` Bart Schaefer
2015-04-11 22:52   ` Aleksandrina Nikolova
2015-04-12 17:18     ` Bart Schaefer
2015-04-12 22:09       ` Aleksandrina Nikolova [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=552AED13.7070806@gmail.com \
    --to=infinite.craziness@gmail.com \
    --cc=zsh-users@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).