about summary refs log tree commit diff
path: root/.config/zsh/completion.zsh
diff options
context:
space:
mode:
Diffstat (limited to '.config/zsh/completion.zsh')
-rw-r--r--.config/zsh/completion.zsh17
1 files changed, 17 insertions, 0 deletions
diff --git a/.config/zsh/completion.zsh b/.config/zsh/completion.zsh
new file mode 100644
index 0000000..bbaacba
--- /dev/null
+++ b/.config/zsh/completion.zsh
@@ -0,0 +1,17 @@
+# completions
+setopt complete_in_word   # complete both ends of words
+setopt always_to_end      # and move cursor to the end afterward
+setopt auto_menu          # <tab><tab> brings up the menu ...
+setopt no_menu_complete   # ... and does not select the first option
+setopt auto_param_slash   # convenience: add trailing / after directories
+setopt no_case_glob
+setopt no_flow_control
+# complete . and ..
+zstyle ':completion:*' special-dirs true
+# complete the middle of words e.g. lc -> pluralcafe
+zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*'
+# cache completions
+zstyle ':completion::complete:*' use-cache yes
+zstyle ':completion::complete:*' cache-path "$HOME/.zcompcache"
+# enable completions
+autoload -Uz compinit && compinit