X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;ds=sidebyside;f=zsh%2Frc;h=85139dcdd305b6745818f56b8e600b2cb6c7c9c9;hb=ad26dac43cbd7b8acb92d4f5ec7431d8022703ac;hp=f246528163262626d3a3b737f67b7f689f99ecd7;hpb=b9dfeafe501f0dd47cb184bfb727fc15f45f236c;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index f246528..85139dc 100644 --- a/zsh/rc +++ b/zsh/rc @@ -78,17 +78,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 @@ -628,21 +628,15 @@ fi # CUSTOM COMMANDS # Display all branches (except stash) in gitk but only 200 commits as this is -# much faster. Also put in the background and disown. Thanks to sitaram in -# #git on Freenode (2009-04-20 15:51). +# much faster. Also put in the background and disown. Thanks to drizzd in #git +# on Freenode (2010-04-03 17:55 CEST). gitk() { - command gitk \ - --max-count=200 \ - $(git rev-parse --symbolic-full-name --remotes --branches) \ - $@ & + command gitk --max-count=200 --branches --remotes --tags "$@" & disown %command } # Same for tig (except the disown part as it's no GUI program). tig() { - command tig \ - --max-count=200 \ - $(git rev-parse --symbolic-full-name --remotes --branches) \ - $@ + command tig --max-count=200 --branches --remotes --tags "$@" } # Pipe output through less. @@ -650,10 +644,30 @@ 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() { + command rlwrap \ + --always-readline --complete-filenames -t dumb \ + --histsize 5000 \ + --file ~/.shell/rlwrap/ghci \ + ghci "$@" 2>&1 }