X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=50898ce106381e19add71c4be08e5285a559b65a;hb=90b224ae543a4bd153c5e56c9e51c88f441bd291;hp=6cd9d24a44ff8eddd34ebfda05257fa407e17d0e;hpb=5afe1a231d01ccbdfb747c397f760eb936004814;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index 6cd9d24..50898ce 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -770,7 +770,7 @@ grmlcomp() { # use generic completion system for programs not yet defined; (_gnu_generic works # with commands that provide a --help option with "standard" gnu-like output.) - for compcom in cp deborphan df feh fetchipac head hnb ipacsum mv \ + for compcom in cp deborphan df feh fetchipac gpasswd head hnb ipacsum mv \ pal stow tail uname ; do [[ -z ${_comps[$compcom]} ]] && compdef _gnu_generic ${compcom} done; unset compcom @@ -2532,6 +2532,7 @@ compdef _functions freload #f1# List symlinks in detail (more detailed version of 'readlink -f' and 'whence -s') sll() { [[ -z "$1" ]] && printf 'Usage: %s \n' "$0" && return 1 + local file for file in "$@" ; do while [[ -h "$file" ]] ; do ls -l $file @@ -2544,26 +2545,31 @@ sll() { # PAGER='less -Mr' - If so, the use of $PAGER here needs fixing # with respect to wordsplitting. (ie. ${=PAGER}) if check_com -c $PAGER ; then - #f3# View Debian's changelog of a given package + #f3# View Debian's changelog of given package(s) dchange() { emulate -L zsh - if [[ -r /usr/share/doc/$1/changelog.Debian.gz ]] ; then - $PAGER /usr/share/doc/$1/changelog.Debian.gz - elif [[ -r /usr/share/doc/$1/changelog.gz ]] ; then - $PAGER /usr/share/doc/$1/changelog.gz - else - if check_com -c aptitude ; then - echo "No changelog for package $1 found, using aptitude to retrieve it." - if isgrml ; then - aptitude -t unstable changelog $1 + [[ -z "$1" ]] && printf 'Usage: %s \n' "$0" && return 1 + + local package + for package in "$@" ; do + if [[ -r /usr/share/doc/${package}/changelog.Debian.gz ]] ; then + $PAGER /usr/share/doc/${package}/changelog.Debian.gz + elif [[ -r /usr/share/doc/${package}/changelog.gz ]] ; then + $PAGER /usr/share/doc/${package}/changelog.gz + elif [[ -r /usr/share/doc/${package}/changelog ]] ; then + $PAGER /usr/share/doc/${package}/changelog + else + if check_com -c aptitude ; then + echo "No changelog for package $package found, using aptitude to retrieve it." + aptitude changelog "$package" + elif check_com -c apt-get ; then + echo "No changelog for package $package found, using apt-get to retrieve it." + apt-get changelog "$package" else - aptitude changelog $1 + echo "No changelog for package $package found, sorry." fi - else - echo "No changelog for package $1 found, sorry." - return 1 fi - fi + done } _dchange() { _files -W /usr/share/doc -/ } compdef _dchange dchange @@ -2749,11 +2755,6 @@ if check_com vim; then } fi -# make a backup of a file -bk() { - cp -a "$1" "${1}_$(date --iso-8601=seconds)" -} - ssl_hashes=( sha512 sha256 sha1 md5 ) for sh in ${ssl_hashes}; do