From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25480 invoked from network); 12 May 2008 12:36:52 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.2.4 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 12 May 2008 12:36:52 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 54149 invoked from network); 12 May 2008 12:36:47 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 12 May 2008 12:36:47 -0000 Received: (qmail 26083 invoked by alias); 12 May 2008 12:36:44 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 25000 Received: (qmail 26064 invoked from network); 12 May 2008 12:36:44 -0000 Received: from bifrost.dotsrc.org (130.225.254.106) by sunsite.dk with SMTP; 12 May 2008 12:36:44 -0000 Received: from equator.ru.net (equator.ru.net [194.58.105.39]) by bifrost.dotsrc.org (Postfix) with ESMTP id 4640F80ED172 for ; Mon, 12 May 2008 14:36:39 +0200 (CEST) Received: from localhost ([127.0.0.1]) by equator.ru.net with esmtpsa (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1JvXGg-00016d-JO for zsh-workers@sunsite.dk; Mon, 12 May 2008 16:36:38 +0400 Message-ID: <482839D5.6070901@sergio.spb.ru> Date: Mon, 12 May 2008 16:36:37 +0400 From: sergio User-Agent: Mozilla-Thunderbird 2.0.0.9 (X11/20080110) MIME-Version: 1.0 To: Zsh hackers list Subject: case insensitive completion Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: zsh@sergio.spb.ru X-SA-Exim-Scanned: No (on equator.ru.net); SAEximRunCond expanded to false X-Virus-Scanned: ClamAV 0.91.2/7100/Mon May 12 14:17:29 2008 on bifrost X-Virus-Status: Clean Hello. I want to make case insensitive completion for russian language. >>From the manpage: zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z} but analog with russian: zstyle ':completion:*' matcher-list 'm:{а-яА-Я}={А-Яа-я} doesn't work Also, this doesn't work too: zstyle ':completion:*' matcher-list 'm:{абвгдеёжзийклмнопрстуфхцчшщъыьэюя}={АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ}' 'm:{я}={Я}' doesn't work for letter 'я', but 'm:{z}={Z}' works for letter 'z'. This works: zstyle ':completion:*' matcher-list '+m:{a-zA-Z}={A-Za-z}' '+m:а=А' '+m:б=Б' '+m:в=В' '+m:г=Г' '+m:д=Д' '+m:е=Е' '+m:ё=Ё' '+m:ж=Ж' '+m:з=З' '+m:и=И' '+m:й=Й' '+m:к=К' '+m:л=Л' '+m:м=М' '+m:н=Н' '+m:о=О' '+m:п=П' '+m:р=Р' '+m:с=С' '+m:т=Т' '+m:у=У' '+m:ф=Ф' '+m:х=Х' '+m:ц=Ц' '+m:ч=Ч' '+m:ш=Ш' '+m:щ=Щ' '+m:ъ=Ъ' '+m:ы=Ы' '+m:ь=Ь' '+m:э=Э' '+m:ю=Ю' '+m:я=Я' '+m:А=а' '+m:Б=б' '+m:В=в' '+m:Г=г' '+m:Д=д' '+m:Е=е' '+m:Ё=ё' '+m:Ж=ж' '+m:З=з' '+m:И=и' '+m:Й=й' '+m:К=к' '+m:Л=л' '+m:М=м' '+m:Н=н' '+m:О=о' '+m:П=п' '+m:Р=р' '+m:С=с' '+m:Т=т' '+m:У=у' '+m:Ф=ф' '+m:Х=х' '+m:Ц=ц' '+m:Ч=ч' '+m:Ш=ш' '+m:Щ=щ' '+m:Ъ=ъ' '+m:Ы=ы' '+m:Ь=ь' '+m:Э=э' '+m:Ю=ю' '+m:Я=я' but this is not very well ): zsh can lower and uppercase russian letters: % qwe=йцу % echo ${(U)qwe} ЙЦУ % echo ${(L)${(U)qwe}} йцу and in EXTENDED_GLOB there is globbing flag i which works right for rissian language: % setopt EXTENDED_GLOB % ls (#i)йцу ЙцУ ЙЦУ P.S. Have zsh something for case switching. It will be great to write something like: zstyle ':completion:*' matcher-list 'm:$a=swithcase($a) -- sergio