X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=a4adfdd7c8523b62eeb70b2509e0ce633c4a7aa7;hb=b72d908b1b136820a113c2a01da79393cf331678;hp=10b0d8fe337871303ee20121fdd5cf8dcd922f1a;hpb=cc6e808d6f1aecb646896f2f682796d4928a0ee2;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index 10b0d8f..a4adfdd 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -810,20 +810,20 @@ grmlcomp() { } # some people don't like the automatic correction - so run 'NOCOR=1 zsh' to deactivate it if [[ -n "$NOCOR" ]] ; then - zstyle ':completion:*' completer _oldlist _expand _force_rehash _complete + zstyle ':completion:*' completer _oldlist _expand _force_rehash _complete _files setopt nocorrect # do not try to correct the spelling if possible else -# zstyle ':completion:*' completer _oldlist _expand _force_rehash _complete _correct _approximate +# zstyle ':completion:*' completer _oldlist _expand _force_rehash _complete _correct _approximate _files setopt correct # try to correct the spelling if possible zstyle -e ':completion:*' completer ' if [[ $_last_try != "$HISTNO$BUFFER$CURSOR" ]]; then _last_try="$HISTNO$BUFFER$CURSOR" - reply=(_complete _match _prefix) + reply=(_complete _match _prefix _files) else if [[ $words[1] = (rm|mv) ]]; then - reply=(_complete) + reply=(_complete _files) else - reply=(_oldlist _expand _force_rehash _complete _correct _approximate) + reply=(_oldlist _expand _force_rehash _complete _correct _approximate _files) fi fi' fi @@ -974,6 +974,18 @@ If you want to use xinit anyway please call \"/usr/bin/xinit\"." } compdef _functions reload freload + # list symlinks in detail (more detailed version of 'readlink -f' and 'whence -s') + sll() { + [ -z "$1" ] && printf 'Usage: %s \n' "$0" && return 1 + for i in "$@" ; do + file=$i + while [ -h "$file" ] ; do + ls -l $file + file=$(readlink "$file") + done + done + } + # fast manual access if type -p qma &>/dev/null ; then manzsh() { qma zshall "$1" } @@ -984,33 +996,35 @@ If you want to use xinit anyway please call \"/usr/bin/xinit\"." # manzsh() { man zshall | $MYLESS -p $1 ; } fi -# use "dchange " to view Debian's changelog of the package: - dchange() { - if [ -r /usr/share/doc/${1}/changelog.Debian.gz ] ; then - most /usr/share/doc/${1}/changelog.Debian.gz - else - if [ -r /usr/share/doc/${1}/changelog.gz ] ; then - most /usr/share/doc/${1}/changelog.gz - else - echo "No changelog for package $1 found, sorry." - return 1 - fi - fi - } - _dchange() { _files -W /usr/share/doc -/ } - compdef _dchange dchange - -# use "uchange " to view upstream's changelog of the package: - uchange() { - if [ -r /usr/share/doc/${1}/changelog.gz ] ; then - most /usr/share/doc/${1}/changelog.gz - else - echo "No changelog for package $1 found, sorry." - return 1 - fi - } - _uchange() { _files -W /usr/share/doc -/ } - compdef _uchange uchange + if [ -x /usr/bin/most ] ; then + # use "dchange " to view Debian's changelog of the package: + dchange() { + if [ -r /usr/share/doc/${1}/changelog.Debian.gz ] ; then + most /usr/share/doc/${1}/changelog.Debian.gz + else + if [ -r /usr/share/doc/${1}/changelog.gz ] ; then + most /usr/share/doc/${1}/changelog.gz + else + echo "No changelog for package $1 found, sorry." + return 1 + fi + fi + } + _dchange() { _files -W /usr/share/doc -/ } + compdef _dchange dchange + + # use "uchange " to view upstream's changelog of the package: + uchange() { + if [ -r /usr/share/doc/${1}/changelog.gz ] ; then + most /usr/share/doc/${1}/changelog.gz + else + echo "No changelog for package $1 found, sorry." + return 1 + fi + } + _uchange() { _files -W /usr/share/doc -/ } + compdef _uchange uchange + fi # zsh profiling profile () {