Browse Source

Merge pull request #3838 from forivall/hyphen-insensitive

Add hyphen insensitivity
Robby Russell 9 years ago
parent
commit
34d3680232
2 changed files with 10 additions and 1 deletions
  1. 6 1
      lib/completion.zsh
  2. 4 0
      templates/zshrc.zsh-template

+ 6 - 1
lib/completion.zsh

@@ -15,7 +15,12 @@ if [ "x$CASE_SENSITIVE" = "xtrue" ]; then
   zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
   unset CASE_SENSITIVE
 else
-  zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
+  if [ "x$HYPHEN_INSENSITIVE" = "xtrue" ]; then
+    zstyle ':completion:*' matcher-list 'm:{a-zA-Z-_}={A-Za-z_-}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
+    unset HYPHEN_INSENSITIVE
+  else
+    zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
+  fi
 fi
 
 zstyle ':completion:*' list-colors ''

+ 4 - 0
templates/zshrc.zsh-template

@@ -10,6 +10,10 @@ ZSH_THEME="robbyrussell"
 # Uncomment the following line to use case-sensitive completion.
 # CASE_SENSITIVE="true"
 
+# Uncomment the following line to use hyphen-insensitive completion. Case
+# sensitive completion must be off. _ and - will be interchangeable.
+# HYPHEN_INSENSITIVE="true"
+
 # Uncomment the following line to disable bi-weekly auto-update checks.
 # DISABLE_AUTO_UPDATE="true"