# Copyright © 1994–2008 martin f. krafft <madduck@madduck.net>
# Released under the terms of the Artistic Licence 2.0
#
-# Source repository: http://git.madduck.net/v/etc/zsh.git
+# Source repository: git://git.madduck.net/etc/zsh.git
#
+function trace() { eval "set -x; $@" }
+
alias mv='nocorrect mv'
alias cp='nocorrect cp'
alias ln='nocorrect ln'
# I prefer POSIX collation for ls
alias ls="LC_COLLATE=POSIX ls $_ls_opts"
+alias l='ls --time-style=+%Y%m%d.%H%M -gG'
alias ll='ls -l'
-alias l=ll
alias la='ls -a'
alias lla='ls -la'
alias lt='ls -lt'
# List only directories and symbolic links that point to directories
alias lsd='ll -d *(-/DN)'
-alias lscontext='print -l -- ${${(f):-"$(lrt)"}[-$((LINES/2)),-1]}'
+alias lscontext=l
cd () { __CHPWD_RUN_FIRST=lscontext && builtin cd "$@" && unset __CHPWD_RUN_FIRST }
#_cd_l() { ll }
#chpwd_functions+=_cd_l
+# #183394
+alias w='w|cat'
+
alias egrep='egrep --color=auto -d skip'
alias fgrep='fgrep --color=auto -d skip'
alias grep='grep --color=auto -d skip'
# handy documentation lookup on Debian
# from http://www.michael-prokop.at/computer/config/.zshrc
-doc() { cd /usr/share/doc/$1 && ls }
-_doc() { _files -W /usr/share/doc -/ }
-compdef _doc doc
+doc() { cd /usr/share/doc/$1 }
+compdef '_files -W /usr/share/doc -/' doc
-alias giti='git init && git add . && git commit -minitial\ checkin'
+alias giti='git init && git add . && git commit -minitial\ checkin && git tag orig'
if whence mtail >/dev/null; then
alias t=mtail
else
alias t='tail -f'
fi
-alias tsl='t /var/log/syslog'
-alias lsl='sensible-pager /var/log/syslog'
-alias tml='t /var/log/mail.log'
-alias lml='sensible-pager /var/log/mail.log'
-alias tal='t /var/log/auth.log'
-alias lal='sensible-pager /var/log/auth.log'
-alias tdl='t /var/log/daemon.log'
-alias ldl='sensible-pager /var/log/daemon.log'
-alias tkl='t /var/log/kern.log'
-alias lkl='sensible-pager /var/log/kern.log'
+compdef _files t
+
+function ltail() { t ~log/$1 }
+compdef '_files -W ~log' ltail
+
+function lless() { sensible-pager ~log/$1 }
+compdef '_files -W ~log' lless
+
+alias tsl='ltail syslog'
+alias lsl='lless ~log/syslog'
+alias tml='ltail mail.log'
+alias lml='lless ~log/mail.log'
+alias tal='ltail auth.log'
+alias lal='lless ~log/auth.log'
+alias tdl='ltail daemon.log'
+alias ldl='lless ~log/daemon.log'
+alias tkl='ltail kern.log'
+alias lkl='lless ~log/kern.log'
+
+function lgrep() {
+ local pattern="$1"; shift
+ eval egrep "'$pattern'" "~log/${(j: ~log/:)@}"
+}
alias px='ps afux'
alias mps='ps -ao user,pcpu,start,command'
+function of() { lsof -np "$1" }
+compdef _pids of
+
+function psgrep() { ps aux | grep "[${1[1]}]${1[2,-1]}" }
+
alias bofh='fortune bofh-excuses'
autoload -U baseconv
bugsub() { echo X-debbugs-autosubscribe: madduck | sendmail -f $DEBEMAIL ${1:?No bug number}-subscribe@bugs.debian.org }
bugunsub() { sendmail -f $DEBEMAIL ${1:?No bug number}-unsubscribe@bugs.debian.org </dev/null }
+ptssub() { echo subscribe ${1:?E: no package name given.} | sendmail -f ${2:-$DEBEMAIL} pts@qa.debian.org }
+ptsunsub() { echo unsubscribe ${1:?E: no package name given.} | sendmail -f ${2:-$DEBEMAIL} pts@qa.debian.org }
+qasub() { echo subscribe ${1:?E: no package name given.} ${2:-unspecifed} | sendmail -f $DEBEMAIL ddpo@qa.debian.org }
+qaunsub() { echo unsubscribe ${1:?E: no package name given.} ${2:-unspecifed} | sendmail -f $DEBEMAIL ddpo@qa.debian.org }
uc() { unicode --max=0 --colour=off "$@" | sensible-pager }
alias mdtest='swaks -s localhost -t'
+if whence devtodo >/dev/null; then
+ _devtodo_on_chpwd() {
+ local out; out="$(devtodo)"
+ [[ -n $out ]] && print "todo:\n$out"
+ }
+ [[ -z ${(M)chpwd_functions:#_devtodo_on_chpwd} ]] && chpwd_functions+=_devtodo_on_chpwd
+fi
+
# vim:ft=zsh