X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=89684e48982bf538419f3200e29827a2ac3c59c4;hb=c979eb86607ba4e7bf66b950314c002aa537f018;hp=e21c77227bc9622f5ff2aa3d37040a30c76f3d40;hpb=e01bb8fd4f1afa24ac37638aee2ba1e68959ae2b;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index e21c772..89684e4 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -172,6 +172,11 @@ EOF # check for version/system # check for versions (compatibility reasons) +function is51 () { + [[ $ZSH_VERSION == 5.<1->* ]] && return 0 + return 1 +} + function is4 () { [[ $ZSH_VERSION == <4->* ]] && return 0 return 1 @@ -427,10 +432,6 @@ is4 && setopt share_history # save each command's beginning timestamp and the duration to the history file setopt extended_history -# If a new command line being added to the history list duplicates an older -# one, the older command is removed from the list -is4 && setopt histignorealldups - # remove command lines from the history list when the first character on the # line is a space setopt histignorespace @@ -480,6 +481,7 @@ setopt unset # setting some default values NOCOR=${NOCOR:-0} +NOETCHOSTS=${NOETCHOSTS:-0} NOMENU=${NOMENU:-0} NOPRECMD=${NOPRECMD:-0} COMMAND_NOT_FOUND=${COMMAND_NOT_FOUND:-0} @@ -892,7 +894,7 @@ function grmlcomp () { if is42 ; then [[ -r ~/.ssh/config ]] && _ssh_config_hosts=(${${(s: :)${(ps:\t:)${${(@M)${(f)"$(<$HOME/.ssh/config)"}:#Host *}#Host }}}:#*[*?]*}) || _ssh_config_hosts=() [[ -r ~/.ssh/known_hosts ]] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=() - [[ -r /etc/hosts ]] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(&/dev/null && unalias run-help @@ -2567,7 +2573,7 @@ function grml_reset_screen_title () { # see http://www.faqs.org/docs/Linux-mini/Xterm-Title.html [[ ${NOTITLE:-} -gt 0 ]] && return 0 case $TERM in - (xterm*|rxvt*|alacritty) + (xterm*|rxvt*|alacritty|foot) set_title ${(%):-"%n@%m: %~"} ;; esac @@ -2604,7 +2610,7 @@ function grml_cmd_to_screen_title () { function grml_control_xterm_title () { case $TERM in - (xterm*|rxvt*|alacritty) + (xterm*|rxvt*|alacritty|foot) set_title "${(%):-"%n@%m:"}" "$2" ;; esac @@ -2671,6 +2677,11 @@ else alias l='command ls -l' fi +# use ip from iproute2 with color support +if ip --color=auto addr show dev lo >/dev/null 2>&1; then + alias ip='command ip --color=auto' +fi + if [[ -r /proc/mdstat ]]; then alias mdstat='cat /proc/mdstat' fi @@ -3302,7 +3313,14 @@ zrcautoload lookupinit && lookupinit # variables # set terminal property (used e.g. by msgid-chooser) -export COLORTERM="yes" +case "${COLORTERM}" in + truecolor) + # do not overwrite + ;; + *) + export COLORTERM="yes" + ;; +esac # aliases @@ -3569,6 +3587,11 @@ function simple-extract () { USES_STDIN=true USES_STDOUT=false ;; + *tar.lrz) + DECOMP_CMD="lrzuntar" + USES_STDIN=false + USES_STDOUT=false + ;; *tar) DECOMP_CMD="tar -xvf -" USES_STDIN=true @@ -3619,6 +3642,11 @@ function simple-extract () { USES_STDIN=true USES_STDOUT=true ;; + *lrz) + DECOMP_CMD="lrunzip -" + USES_STDIN=true + USES_STDOUT=true + ;; *) print "ERROR: '$ARCHIVE' has unrecognized archive type." >&2 RC=$((RC+1))