From: Sergey Matveev <stargrave@stargrave.org>
Date: Mon, 13 Sep 2021 14:01:37 +0000 (+0300)
Subject: man/info narrower completion matcher
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=4df1077fbb366de5fd8a73e366a59f5f47d23d39;p=dotfiles.git

man/info narrower completion matcher
---

diff --git a/zsh/.zshrc b/zsh/.zshrc
index a211a26..7284b49 100644
--- a/zsh/.zshrc
+++ b/zsh/.zshrc
@@ -176,7 +176,8 @@ zstyle ":completion:*:files:*:*:descriptions" format ""
 
 zstyle ":completion:*" file-patterns "%p:globbed" "*"
 zstyle ":completion:*" matcher-list "" "m:{a-z-}={A-Z_}" "r:|?=** m:{a-z-}={A-Z_}"
-zstyle ":completion:*" completer _mycomp _parameters _ignored
+zstyle ":completion:*:man:*:*:*" matcher-list "" "m:{a-zA-Z}={A-Za-z} l:|=* r:|=*"
+zstyle ":completion:*" completer _mycomp _mycomp_man:man _parameters _ignored
 
 _mycomp () {
     [[ $CURRENT -eq 1 ]] && curcontext="${curcontext%:*:*}:-command-:" \
@@ -184,10 +185,6 @@ _mycomp () {
     [[ $IPREFIX =~ ~.* ]] && _tilde && return
     local has_files
     curcontext=:files:${curcontext#:*:} _files && has_files=1
-    [[ ${words[1]} == man ]] && curcontext=:man:${curcontext#:*:} \
-        _dispatch "" man man "" -default- && _value && return
-    [[ ${words[1]} == info ]] && curcontext=:info:${curcontext#:*:} \
-        _dispatch "" info info "" -default- && return
     [[ $has_files ]] && return
 
     # MAGIC_EQUAL_SUBST {{{
@@ -198,6 +195,13 @@ _mycomp () {
     # }}}
 }
 
+_mycomp_man () {
+    [[ ${words[1]} == man ]] && curcontext=:man:${curcontext#:*:} \
+        _dispatch "" man man "" -default- && _value && return
+    [[ ${words[1]} == info ]] && curcontext=:info:${curcontext#:*:} \
+        _dispatch "" info info "" -default- && return
+}
+
 autoload -U compinit ; compinit -d /tmp/.zcompdump
 autoload -U complist
 # }}}