summaryrefslogtreecommitdiff
path: root/lib/completion.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/completion.zsh')
-rw-r--r--lib/completion.zsh40
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/completion.zsh b/lib/completion.zsh
new file mode 100644
index 000000000..795903d0d
--- /dev/null
+++ b/lib/completion.zsh
@@ -0,0 +1,40 @@
+## fixme - the load process here seems a bit bizarre
+
+setopt noautomenu
+setopt complete_in_word
+setopt always_to_end
+
+unsetopt flowcontrol
+
+WORDCHARS=''
+
+autoload -U compinit
+compinit
+
+zmodload -i zsh/complist
+
+## case-insensitive (all),partial-word and then substring completion
+zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
+
+zstyle ':completion:*' list-colors ''
+zstyle ':completion:*' hosts $( sed 's/[, ].*$//' $HOME/.ssh/known_hosts )
+
+unsetopt MENU_COMPLETE
+#setopt AUTO_MENU
+
+# should this be in keybindings?
+bindkey -M menuselect '^o' accept-and-infer-next-history
+
+zstyle ':completion:*:*:*:*:*' menu yes select
+# zstyle ':completion:*:*:*:*:processes' force-list always
+
+zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
+zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w"
+zstyle ':completion:*:*:(ssh|scp):*:*' hosts `sed 's/^\([^ ,]*\).*$/\1/' ~/.ssh/known_hosts`
+
+
+#complete on history
+# zstyle ':completion:*:history-words' stop yes
+# zstyle ':completion:*:history-words' remove-all-dups yes
+# zstyle ':completion:*:history-words' list false
+# zstyle ':completion:*:history-words' menu yes \ No newline at end of file