aboutsummaryrefslogtreecommitdiff
path: root/config/all/zsh/50-completion.zsh
diff options
context:
space:
mode:
authorMatt Singleton <matt@xcolour.net>2023-02-03 14:39:07 -0600
committerMatt Singleton <matt@xcolour.net>2023-02-03 14:39:07 -0600
commite9dc4c1090abb01317847c417b75d3960f3da34d (patch)
tree2fb84cf24675f1294f9f7a33ea949d514844c6f1 /config/all/zsh/50-completion.zsh
parent969f76a8238e2d43a25740c8272bf635d436f0d3 (diff)
only install platform-appropriate configs based on uname
Diffstat (limited to 'config/all/zsh/50-completion.zsh')
-rw-r--r--config/all/zsh/50-completion.zsh27
1 files changed, 27 insertions, 0 deletions
diff --git a/config/all/zsh/50-completion.zsh b/config/all/zsh/50-completion.zsh
new file mode 100644
index 0000000..23cb052
--- /dev/null
+++ b/config/all/zsh/50-completion.zsh
@@ -0,0 +1,27 @@
+# initialize the completion system
+autoload -U compinit
+compinit -d "${XDG_CACHE_HOME:-${HOME}/.cache}/zsh/zcompdump"
+zmodload zsh/complist
+
+# complete only after the second consecutive tab
+setopt auto_menu
+
+# use GNU ls color specification for completion menu
+zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
+
+# use menu selection by default
+zstyle ':completion:*:default' menu select
+
+# disable named-directories autocompletion
+zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories
+cdpath=(.)
+
+# don't autocomplete local users for (ssh|ftp|scp|rsync)
+zstyle ':completion:*:*:(ssh|ftp|scp|rsync):*' users
+
+# Use caching so that commands like apt and dpkg complete are useable
+zstyle ':completion::complete:*' use-cache 1
+zstyle ':completion:*' cache-path "${XDG_CACHE_HOME:-${HOME}/.cache}/zsh/zcompcache"
+
+# always rehash commands list
+zstyle ':completion:*:commands' rehash 1