]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - zsh/rc
*: License under GPL v3+.
[config/dotfiles.git] / zsh / rc
diff --git a/zsh/rc b/zsh/rc
index 84b27f73a35887173f0a1df7131970f88f47dfbc..fbf9aea5196ba5582b5c9738ae85adab1c950f45 100644 (file)
--- a/zsh/rc
+++ b/zsh/rc
@@ -1,5 +1,20 @@
 # 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"
 
@@ -78,17 +93,17 @@ if [[ $ZSH_VERSION != (4.3.<5->|4.<4->*|<5->*) ]]; then
     # 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
@@ -644,11 +659,22 @@ tree() {
     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() {