From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14608 invoked by alias); 14 Aug 2011 20:59:44 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 16220 Received: (qmail 9939 invoked from network); 14 Aug 2011 20:59:41 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.3.1 Received-SPF: none (ns1.primenet.com.au: domain at vinc17.net does not designate permitted sender hosts) Date: Sun, 14 Aug 2011 22:59:36 +0200 From: Vincent Lefevre To: zsh-users@zsh.org Subject: command completion Message-ID: <20110814205936.GI20653@prunille.vinc17.org> Mail-Followup-To: zsh-users@zsh.org MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-Mailer-Info: http://www.vinc17.net/mutt/ User-Agent: Mutt/1.5.21-6194-vl-r44775 (2011-07-13) I asked a question several years ago about command/function/etc. completion, but never had an answer. I'd like command completion to be preferred over directory completion. For instance, if I create an executable file blah-cmd and a directory blah-dir in the current directory ("." being in the $PATH), and do: % rehash % zstyle ':completion:*:complete:-command-:*' tag-order 'commands' % bl[TAB] then I can see that various commands are proposed, but not blah-cmd. ^Xh (_complete_help) at this point outputs: tags in context :completion::complete:-command-:: commands executables builtins functions aliases suffix-aliases reserved-words jobs parameters (_alternative _command_names _autocd (eval)) commands (_path_commands _alternative _command_names _autocd (eval)) jobs (_jobs _alternative _command_names _autocd (eval)) parameters (_parameters _alternative _command_names _autocd (eval)) Unfortunately not all the tags are described in the zshcompsys man page, and the description is quite short, so that I don't understand why blah-cmd hasn't been proposed. Then I've tried: % zstyle ':completion:*:complete:-command-:*' tag-order 'executables' but then both blah-cmd and blah-dir/ are proposed. Now, if I move blah-cmd somewhere else in $PATH, and use % zstyle ':completion:*:complete:-command-:*' tag-order 'commands' % blah[TAB] then only blah-cmd is proposed, as expected. However if I do: % mkdir ~/blah-hdir % cdpath=(. ~) % setopt AUTO_CD % blah[TAB] then both blah-cmd and blah-hdir/ are proposed. I don't see why blah-hdir/ should be regarded as a command. -- Vincent Lefèvre - Web: 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)