]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
Added support for colorized completions in zsh.
authorSimon Ruderich <simon@ruderich.org>
Sun, 21 Sep 2008 16:17:11 +0000 (18:17 +0200)
committerSimon Ruderich <simon@ruderich.org>
Mon, 16 Feb 2009 15:34:38 +0000 (16:34 +0100)
shell/env
zsh/rc

index 944a888d2f2339e77df688d1acbb1d388fec003c..400d4d6c7da385af4aee81a2cf58d66cc0d6f475 100644 (file)
--- a/shell/env
+++ b/shell/env
@@ -9,3 +9,11 @@ export EDITOR=vim
 
 # Set less as pager, its configuration is done through the .less file.
 export PAGER=less
+
+# Set colors for ls (and zsh completions). This colors files normal (fi),
+# directories blue bold (di), symbolic links cyan (ln), named pipes normal
+# (pi), sockets normal (so), block devices normal (bd), character devices
+# normal (cd) and executables bold red (ex).
+# See `dircolors --print-database` for possible colors.
+LS_COLORS='no=00:fi=00:di=34;01:ln=36:pi=00:so=00:bd=00:cd=00:ex=31;01'
+export LS_COLORS
diff --git a/zsh/rc b/zsh/rc
index 5d20a458d5855f1cb2ade92d5d94c16358444a04..9b42bd102848da812253495902a5aa12607c347a 100644 (file)
--- a/zsh/rc
+++ b/zsh/rc
@@ -29,8 +29,9 @@ setopt autocd
 # one.
 setopt correct
 
-# Use colorized output.
+# Use colorized output, necessary for prompts and completions.
 autoload -U colors && colors
+
 # Set the default prompt. The current host and working directory is displayed,
 # the exit code of the last command if it wasn't 0 and a + if this shell is
 # running inside another shell.
@@ -42,6 +43,9 @@ PROMPT="%{${fg[green]}%}%B%m%b%{${fg[default]}%}:\
 
 # Use new completion system.
 autoload -U compinit && compinit
+# Load the complist module which provides additions to completion lists
+# (coloring, scrollable).
+zmodload zsh/complist
 # Make sure the list of possible completions is displayed after pressing <TAB>
 # the first time.
 setopt nolistambiguous
@@ -57,6 +61,11 @@ zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}'
 zstyle ':completion:*:functions' ignored-patterns '_*'
 # Ignore parent directory.
 zstyle ':completion:*:(cd|mv|cp):*' ignore-parents parent pwd
+# Use ls like colors for completions.
+zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
+# Make completion lists scrollable so "do you wish to see all n possibilities"
+# is no longer displayed.
+zstyle ':completion:*' list-prompt '%p'
 
 # Enable zsh's extended glob abilities.
 setopt extendedglob