From 5e0079d9a49cd1d132548dcbc9bd464406037bc4 Mon Sep 17 00:00:00 2001 From: Frank Terbeck Date: Thu, 20 Dec 2018 13:52:53 +0100 Subject: [PATCH] zsh: In grml-small hint at drill instead of dig Closes: https://github.com/grml/grml/issues/56 --- etc/zsh/zshrc | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index 04422c0..8a66912 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -3733,7 +3733,7 @@ if check_com -c hg ; then fi # end of check whether we have the 'hg'-executable -# grml-small cleanups +# grml-small cleanups and workarounds # The following is used to remove zsh-config-items that do not work # in grml-small by default. @@ -3743,6 +3743,8 @@ fi # end of check whether we have the 'hg'-executable if (( GRMLSMALL_SPECIFIC > 0 )) && isgrmlsmall ; then + # Clean up + unset "abk[V]" unalias 'V' &> /dev/null unfunction vman &> /dev/null @@ -3753,6 +3755,36 @@ if (( GRMLSMALL_SPECIFIC > 0 )) && isgrmlsmall ; then unfunction manzsh &> /dev/null unfunction man2 &> /dev/null + # Workarounds + + # See https://github.com/grml/grml/issues/56 + if ! [[ -x ${commands[dig]} ]]; then + function dig_after_all () { + unfunction dig + unfunction _dig + autoload -Uz _dig + unfunction dig_after_all + } + function dig () { + if [[ -x ${commands[dig]} ]]; then + dig_after_all + command dig "$@" + return "$!" + fi + printf 'This installation does not include `dig'\'' for size reasons.\n' + printf 'Try `drill'\'' as a light weight alternative.\n' + return 0 + } + function _dig () { + if [[ -x ${commands[dig]} ]]; then + dig_after_all + zle -M 'Found `dig'\'' installed. ' + else + zle -M 'Try `drill'\'' instead of `dig'\''.' + fi + } + compdef _dig dig + fi fi zrclocal -- 2.1.4