diff --git a/home/zsh.nix b/home/zsh.nix index 279b63c..2825b56 100644 --- a/home/zsh.nix +++ b/home/zsh.nix @@ -41,6 +41,36 @@ setopt autoresume # Those options aren't wanted unsetopt beep extendedglob notify + + # Style the completion a bit + zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS} + # Show a prompt on selection + zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s' + # Use arrow keys in completion list + zstyle ':completion:*' menu select + # Group results by category + zstyle ':completion:*' group-name "" + # Keep directories and files separated + zstyle ': completion:*' list-dirs-first true + # Add colors to processes for kill completion + zstyle ': completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31' + + # match uppercase from lowercase + zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' + + # Filename suffixes to ignore during completion (except after rm command) + zstyle ':completion:*:*:(^rm):*:*files' ignored-patterns '*?.o' '*?.c~' '*?.old' '*?.pro' + + # command for process lists, the local web server details and host completion + # on processes completion complete all user processes + zstyle ':completion:*:processes' command 'ps -au$USER' + + # Completion formatting and messages + zstyle ':completion:*' verbose yes + zstyle ':completion:*:descriptions' format '%B%d%b' + zstyle ':completion:*:messages' format '%d' + zstyle ':completion:*:warnings' format 'No matches for: %d' + zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b' ''; };