# Zsh configuration file.
+# Copyright (C) 2011-2012 Simon Ruderich
+#
+# This file is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file. If not, see <http://www.gnu.org/licenses/>.
+
source_debug ". ~/.zsh/rc"
# arrays.
function precmd() {
for function in $precmd_functions; do
- $function $@
+ $function "$@"
done
}
function preexec() {
for function in $preexec_functions; do
- $function $@
+ $function "$@"
done
}
function chpwd() {
for function in $chpwd_functions; do
- $function $@
+ $function "$@"
done
}
fi
command tree -C "$@" | less
}
-# Automatically disown.
-xpdf() {
- command xpdf "$@" &
- disown %command
+# Choose the "best" PDF viewer available: zathura, then xpdf. Also setup
+# completion for `pdf`.
+if (( $+commands[zathura] )); then
+ pdf() {
+ command zathura "$@" 2>/dev/null &
+ disown %command
+ }
+ # No completion for zathura yet.
+ compdef _xpdf pdf
+elif (( $+commands[xpdf] )); then
+ pdf() {
+ command xpdf "$@" 2>/dev/null &
+ disown %command
+ }
+ compdef _xpdf pdf
+fi
+
+# GHCI doesn't use readline, force it if rlwrap is available.
+(( $+commands[rlwrap] )) && ghci() {
+ command rlwrap \
+ --always-readline --complete-filenames -t dumb \
+ --histsize 5000 \
+ --file ~/.shell/rlwrap/ghci \
+ ghci "$@" 2>&1
}