X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=0a7d730c5490ee3e8a626b0d9e57b568ac38c646;hb=2c241ec8082ac5e826e2aaf29ff6d2eb94198c17;hp=68b38cc76a2b4ade0be5abe44fe5b1e72e446fe2;hpb=89986371e9d8e40c903c9fa5dccc46f44b6015a0;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index 68b38cc..0a7d730 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -670,7 +670,10 @@ fi # completion system COMPDUMPFILE=${COMPDUMPFILE:-${ZDOTDIR:-${HOME}}/.zcompdump} if zrcautoload compinit ; then - compinit -d ${COMPDUMPFILE} || print 'Notice: no compinit available :(' + typeset -a tmp + zstyle -a ':grml:completion:compinit' arguments tmp + compinit -d ${COMPDUMPFILE} "${tmp[@]}" || print 'Notice: no compinit available :(' + unset tmp else print 'Notice: no compinit available :(' function compdef { } @@ -892,7 +895,7 @@ zle -N end-of-somewhere beginning-or-end-of-somewhere # add a command line to the shells history without executing it function commit-to-history () { - print -s ${(z)BUFFER} + print -rs ${(z)BUFFER} zle send-break } zle -N commit-to-history @@ -2266,6 +2269,7 @@ grml_theme_add_token: Token `%s'\'' exists! Giving up!\n\n' $name return 2 fi if (( init )); then + REPLY='' $token $name token=$REPLY fi @@ -2311,6 +2315,7 @@ function grml_prompt_addto () { zstyle -s ":prompt:${grmltheme}:${lr}:items:$it" token new \ || new=${grml_prompt_token_default[$it]} if (( ${+grml_prompt_token_function[$it]} )); then + REPLY='' ${grml_prompt_token_function[$it]} $it else case $it in @@ -2522,7 +2527,7 @@ function grml_cmd_to_screen_title () { function grml_control_xterm_title () { case $TERM in (xterm*|rxvt*) - set_title "${(%):-"%n@%m:"}" "$1" + set_title "${(%):-"%n@%m:"}" "$2" ;; esac } @@ -3268,7 +3273,7 @@ fi #f5# Backup \kbd{file_or_folder {\rm to} file_or_folder\_timestamp} function bk () { emulate -L zsh - local current_date=$(date -u "+%Y-%m-%dT%H:%M:%SZ") + local current_date=$(date -u "+%Y%m%dT%H%M%SZ") local clean keep move verbose result all to_bk setopt extended_glob keep=1 @@ -3325,14 +3330,14 @@ return 0;; elif (( clean > 0 )); then if (( $# > 0 )); then for to_bk in "$@"; do - rm $verbose -rf "${to_bk%/}"_[0-9](#c4,)-(0[0-9]|1[0-2])-([0-2][0-9]|3[0-1])T([0-1][0-9]|2[0-3])(:[0-5][0-9])(#c2)Z + rm $verbose -rf "${to_bk%/}"_[0-9](#c8)T([0-1][0-9]|2[0-3])([0-5][0-9])(#c2)Z (( result += $? )) done else if (( all > 0 )); then - rm $verbose -rf *_[0-9](#c4,)-(0[0-9]|1[0-2])-([0-2][0-9]|3[0-1])T([0-1][0-9]|2[0-3])(:[0-5][0-9])(#c2)Z(D) + rm $verbose -rf *_[0-9](#c8)T([0-1][0-9]|2[0-3])([0-5][0-9])(#c2)Z(D) else - rm $verbose -rf *_[0-9](#c4,)-(0[0-9]|1[0-2])-([0-2][0-9]|3[0-1])T([0-1][0-9]|2[0-3])(:[0-5][0-9])(#c2)Z + rm $verbose -rf *_[0-9](#c8)T([0-1][0-9]|2[0-3])([0-5][0-9])(#c2)Z fi (( result += $? )) fi @@ -3730,7 +3735,10 @@ if check_com -c hg ; then fi # end of check whether we have the 'hg'-executable -# grml-small cleanups +# disable bracketed paste mode for dumb terminals +[[ "$TERM" == dumb ]] && unset zle_bracketed_paste + +# grml-small cleanups and workarounds # The following is used to remove zsh-config-items that do not work # in grml-small by default. @@ -3740,6 +3748,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 @@ -3750,6 +3760,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