zsh-users
 help / color / mirror / code / Atom feed
From: Peter Stephenson <pws@csr.com>
To: zsh-users <zsh-users@sunsite.dk>
Subject: Re: Expansions with glob_complete ignore no_case_glob
Date: Mon, 10 Jan 2005 10:44:45 +0000	[thread overview]
Message-ID: <200501101044.j0AAikYc003765@news01.csr.com> (raw)
In-Reply-To: <200501082341.04828.cht@chello.at>

Christian Taylor wrote:
> Hi! I'm running zsh 4.2.1 under Linux, and I've observed the following 
> unexpected behaviour:
> 
> With glob_complete set, the menu-completion of a glob pattern should contain 
> the same matches that would be inserted if glob_complete was not set (except 
> that a '*' is added at the end of the pattern). However, the menu-completion 
> always globs case-sensitive, even if no_case_glob is set. Only including (#i)
>  
> in the pattern causes the menu-completion to ignore case.

Yes, this is deliberate for patterns.  As you've spotted, glob_complete
doesn't do filename generation.  This means NO_CASE_GLOB doesn't apply:

CASE_GLOB <D>
       Make globbing (filename generation)  sensitive  to  case.   Note
       that  other  uses  of patterns are always sensitive to case.  If
       the option is unset, the presence of any character which is spe-
       cial  to  filename generation will cause case-insensitive match-
       ing.  For example, cvs(/) can match the directory CVS  owing  to
       the   presence   of   the   globbing  flag  (unless  the  option
       BARE_GLOB_QUAL is unset).

To control case-sensitivity in completion you need to use the more
sophisticated "match control" feature:

zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}'

This version tries completion without case conversion, then with, and
replaces the value on the command line with the value generated by
completion.  This is normally correct, but you can choose instead to
have the version on the command line left alone by using "M:" at the
start instead.

See the description of the matcher-list style in the zshcompsys manual
and the Matching Control section in the zshcompwid manual.

-- 
Peter Stephenson <pws@csr.com>                  Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK                          Tel: +44 (0)1223 692070


**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

www.mimesweeper.com
**********************************************************************


  reply	other threads:[~2005-01-10 10:46 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-08 22:41 Christian Taylor
2005-01-10 10:44 ` Peter Stephenson [this message]
2005-01-12  0:53   ` Christian Taylor
2005-01-12 13:06     ` Peter Stephenson
2005-01-12 23:28       ` Christian Taylor

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=200501101044.j0AAikYc003765@news01.csr.com \
    --to=pws@csr.com \
    --cc=zsh-users@sunsite.dk \
    /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).