# Authors: grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
# Bug-Reports: see http://grml.org/bugs/
# License: This file is licensed under the GPL v2.
-# Latest change: Mit Aug 08 21:22:03 CEST 2007 [mika]
+# Latest change: Son Dez 09 22:58:07 CET 2007 [mika]
################################################################################
# source ~/.zshrc.global {{{
+
# see /etc/zsh/zshrc for some general settings
# If you don't have write permissions to /etc/zsh/zshrc on your own
# copy the file to your $HOME as /.zshrc.global and we source it:
-xsource "${HOME}/.zshrc.global"
+
+# Note, that xsource() is defined in the global file, so here,
+# we will have to do the sourcing manually for once:
+
+[[ -z "$ZSHRC_GLOBAL_HAS_BEEN_READ" ]] \
+&& [[ -r "${HOME}/.zshrc.global" ]] \
+&& source "${HOME}/.zshrc.global"
# }}}
# check whether global file has been read {{{
if [[ -z "$ZSHRC_GLOBAL_HAS_BEEN_READ" ]] ; then
- print 'Warning: global zsh config has not been read'>&2
+ print 'Warning: global zsh config has not been read.' >&2
+ print ' prepare for possible errors!' >&2
fi
# }}}
#f4# Search for newspostings from authors
agoogle() { ${=BROWSER} "http://groups.google.com/groups?as_uauthors=$*" ; }
#f4# Search Debian Bug Tracking System by BugID in mbox format
-debbug() { ${=BROWSER} "http://bugs.debian.org/$*" }
+debbug() {
+ setopt localoptions extendedglob
+ if [[ $# -eq 1 ]]; then
+ case "$1" in
+ ([0-9]##)
+ ${=BROWSER} "http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=$1"
+ ;;
+ (*@*)
+ ${=BROWSER} "http://bugs.debian.org/cgi-bin/pkgreport.cgi?submitter=$1"
+ ;;
+ (*)
+ ${=BROWSER} "http://bugs.debian.org/$*"
+ ;;
+ esac
+ else
+ print "$0 needs one argument"
+ return 1
+ fi
+}
#f4# Search Debian Bug Tracking System
debbugm() { bts show --mbox $1 } # provide bugnummer as "$1"
#f4# Search DMOZ
fi
}
-# TODO: isn't ssl() like this, but clean?
-# I'd like to remove this, it's a gross hack, IMHO -ft
-#f5# Follow symlinks
-folsym() {
- if [[ -e $1 || -h $1 ]] ; then
- file=$1
- else
- file=`which $1`
- fi
- if [[ -e $file || -L $file ]] ; then
- if [[ -L $file ]] ; then
- echo `ls -ld $file | perl -ane 'print $F[7]'` '->'
- folsym `perl -le '$file = $ARGV[0];
- $dest = readlink $file;
- if ($dest !~ m{^/}) {
- $file =~ s{(/?)[^/]*$}{$1$dest};
- } else {
- $file = $dest;
- }
- $file =~ s{/{2,}}{/}g;
- while ($file =~ s{[^/]+/\.\./}{}) {
- ;
- }
- $file =~ s{^(/\.\.)+}{};
- print $file' $file`
- else
- ls -d $file
- fi
- else
- echo $file
- fi
-}
-
# It's shameless stolen from <http://www.vim.org/tips/tip.php?tip_id=167>
#f5# Use \kbd{vim} as your manpage reader
vman() { man $* | col -b | view -c 'set ft=man nomod nolist' - }
# this allows us to stay in sync with /etc/skel/.zshrc
# through 'ln -s /etc/skel/.zshrc ~/.zshrc' and put own
# modifications in ~/.zshrc.local
-if type xsource &>/dev/null ; then
- xsource "${HOME}/.zshrc.local"
-else
- xsource "${HOME}/.zshrc.local"
-fi
+xsource "${HOME}/.zshrc.local"
# ...and remove utility functions again.
xunfunction