diff --git a/share/themes/blue.zsh b/share/themes/blue.zsh new file mode 100644 index 000000000..56d5c6f97 --- /dev/null +++ b/share/themes/blue.zsh @@ -0,0 +1,43 @@ +# -*- mode: sh; sh-indentation: 4; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# Copyright (c) 2016-2020 Sebastian Gniazdowski and contributors. + + ZINIT+=( + col-annex $'\e[38;5;57m' col-faint $'\e[38;5;238m' col-msg2 $'\e[38;5;172m' + col-apo $'\e[1;38;5;27m' col-file $'\e[3;38;5;69m' col-msg3 $'\e[38;5;238m' + col-flag $'\e[1;3;38;5;69m' col-nb $'\e[22m' col-rst $'\e[0m' + col-b $'\e[1m' col-func $'\e[38;5;69m' col-nit $'\e[23m' col-slight $'\e[38;5;230m' + col-b-lhi $'\e[1;38;5;69m' col-glob $'\e[38;5;45m' + col-nl $'\n' col-st $'\e[9m' + col-b-warn $'\e[1;38;5;105m' col-happy $'\e[1m\e[38;5;82m' col-note $'\e[38;5;33m' + col-hi $'\e[1m\e[38;5;183m' col-nst $'\e[29m' + col-ice $'\e[38;5;33m' col-nu $'\e[24m' col-th-bar $'\e[38;5;82m' + col-bar $'\e[38;5;33m' col-id-as $'\e[4;38;5;33m' col-num $'\e[3;38;5;39m' col-time $'\e[38;5;27m' + col-info $'\e[38;5;82m' col-obj $'\e[38;5;27m' + col-bspc $'\b' col-info2 $'\e[38;5;39m' col-obj2 $'\e[38;5;33m' col-u $'\e[4m' + col-cmd $'\e[38;5;45m' col-info3 $'\e[1m\e[38;5;69m' col-ok $'\e[38;5;220m' col-u-warn $'\e[4;38;5;214m' + col-data $'\e[38;5;69m' col-it $'\e[3m' col-opt $'\e[38;5;219m' col-uname $'\e[1;4m\e[33m' + col-data2 $'\e[38;5;45m' col-keyword $'\e[1;38;5;174m' col-p $'\e[236;5;69m' + col-dir $'\e[3;38;5;69m' col-lhi $'\e[38;5;81m' col-pkg $'\e[1;3;38;5;27m' col-url $'\e[38;5;27m' + col-ehi $'\e[1m\e[38;5;153m' col-meta $'\e[38;5;57m' col-pname $'\e[1;4;32m' col-var $'\e[38;5;57m' + col-error $'\e[1m\e[38;5;204m' col-meta2 $'\e[38;5;57m' col-pre $'\e[38;5;27m' col-version $'\e[3;38;5;57m' + col-msg $'\e[0m' col-profile $'\e[38;5;57m' col-warn $'\e[38;5;99m' + + col-i $'\e[1m\e[38;5;57m'"==>"$'\e[0m' col-e $'\e[1;38;5;204m'"Error: "$'\e[0m' + col-m $'\e[1;38;5;33m'"==>"$'\e[0m' col-w $'\e[1;38;5;99m'"Warning: "$'\e[0m' + + col--… "${${${(M)LANG:#*UTF-8*}:+⋯⋯}:-···}" col-lr "${${${(M)LANG:#*UTF-8*}:+↔}:-"«-»"}" + col-ndsh "${${${(M)LANG:#*UTF-8*}:+–}:-}" col-… "${${${(M)LANG:#*UTF-8*}:+…}:-...}" + + col-mdsh $'\e[1;38;5;220m'"${${${(M)LANG:#*UTF-8*}:+–}:--}"$'\e[0m' + col-mmdsh $'\e[1;38;5;220m'"${${${(M)LANG:#*UTF-8*}:+――}:--}"$'\e[0m' + + col-↔ ${${${(M)LANG:#*UTF-8*}:+$'\e[38;5;82m↔\e[0m'}:-$'\e[38;5;82m«-»\e[0m'} +) +if [[ -z $SOURCED && ( $+terminfo -eq 1 && \ + $terminfo[colors] -ge 256) || \ + ( $+termcap -eq 1 && $termcap[Co] -ge 256 ) ]] +then + ZINIT+=( col-pname $'\e[1;4;38;5;28m' col-uname $'\e[1;4;38;5;57m' ) +fi + +# vim: ft=zsh sw=4 ts=4 et foldmarker=[[[,]]] foldmethod=marker diff --git a/share/themes/default.zsh b/share/themes/default.zsh new file mode 100644 index 000000000..cae832994 --- /dev/null +++ b/share/themes/default.zsh @@ -0,0 +1,45 @@ +# -*- mode: sh; sh-indentation: 4; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# Copyright (c) 2016-2020 Sebastian Gniazdowski and contributors. + + ZINIT+=( + col-annex $'\e[38;5;153m' col-faint $'\e[38;5;238m' col-msg2 $'\e[38;5;172m' + col-apo $'\e[1;38;5;45m' col-file $'\e[3;38;5;117m' col-msg3 $'\e[38;5;238m' + col-flag $'\e[1;3;38;5;79m' col-nb $'\e[22m' col-rst $'\e[0m' + col-b $'\e[1m' col-func $'\e[38;5;219m' col-nit $'\e[23m' col-slight $'\e[38;5;230m' + col-b-lhi $'\e[1m\e[38;5;75m' col-glob $'\e[38;5;227m' col-nl $'\n' col-st $'\e[9m' + col-b-warn $'\e[1;38;5;214m' col-happy $'\e[1m\e[38;5;82m' col-note $'\e[38;5;148m' + col-hi $'\e[1m\e[38;5;183m' col-nst $'\e[29m' + col-ice $'\e[38;5;39m' col-nu $'\e[24m' col-th-bar $'\e[38;5;82m' + col-bar $'\e[38;5;82m' col-id-as $'\e[4;38;5;220m' col-num $'\e[3;38;5;155m' col-time $'\e[38;5;220m' + col-info $'\e[38;5;82m' col-obj $'\e[38;5;218m' + col-bspc $'\b' col-info2 $'\e[38;5;227m' col-obj2 $'\e[38;5;118m' col-u $'\e[4m' + col-cmd $'\e[38;5;82m' col-info3 $'\e[1m\e[38;5;227m' col-ok $'\e[38;5;220m' col-u-warn $'\e[4;38;5;214m' + col-data $'\e[38;5;82m' col-it $'\e[3m' col-opt $'\e[38;5;219m' col-uname $'\e[1;4m\e[35m' + col-data2 $'\e[38;5;117m' col-keyword $'\e[32m' col-p $'\e[38;5;81m' + col-dir $'\e[3;38;5;153m' col-lhi $'\e[38;5;81m' col-pkg $'\e[1;3;38;5;27m' col-url $'\e[38;5;75m' + col-ehi $'\e[1m\e[38;5;210m' col-meta $'\e[38;5;57m' col-pname $'\e[1;4m\e[32m' col-var $'\e[38;5;81m' + col-error $'\e[1m\e[38;5;204m' col-meta2 $'\e[38;5;147m' col-pre $'\e[38;5;135m' col-version $'\e[3;38;5;87m' + col-msg $'\e[0m' col-profile $'\e[38;5;148m' col-warn $'\e[38;5;214m' + + col-i $'\e[1m\e[38;5;82m'"==>"$'\e[0m' col-e $'\e[1m\e[38;5;204m'"Error: "$'\e[0m' + col-m $'\e[1m\e[38;5;135m'"==>"$'\e[0m' col-w $'\e[1;38;5;214m'"Warning: "$'\e[0m' + + col--… "${${${(M)LANG:#*UTF-8*}:+⋯⋯}:-···}" col-lr "${${${(M)LANG:#*UTF-8*}:+↔}:-"«-»"}" + col-ndsh "${${${(M)LANG:#*UTF-8*}:+–}:-}" col-… "${${${(M)LANG:#*UTF-8*}:+…}:-...}" + + col-mdsh $'\e[1;38;5;220m'"${${${(M)LANG:#*UTF-8*}:+–}:--}"$'\e[0m' + col-mmdsh $'\e[1;38;5;220m'"${${${(M)LANG:#*UTF-8*}:+――}:--}"$'\e[0m' + + col-↔ ${${${(M)LANG:#*UTF-8*}:+$'\e[38;5;82m↔\e[0m'}:-$'\e[38;5;82m«-»\e[0m'} +) + +# Conmditionally allow 256 color codes for base handlers +if [[ -z $SOURCED && ( $+terminfo -eq 1 && \ + $terminfo[colors] -ge 256) || \ + ( $+termcap -eq 1 && $termcap[Co] -ge 256 ) ]] +then + + ZINIT+=( col-pname $'\e[1;4;38;5;39m' col-uname $'\e[1;4;38;5;207m' ) +fi + +# vim: ft=zsh sw=4 ts=4 et foldmarker=[[[,]]] foldmethod=marker diff --git a/share/themes/gold.zsh b/share/themes/gold.zsh new file mode 100644 index 000000000..e039def85 --- /dev/null +++ b/share/themes/gold.zsh @@ -0,0 +1,43 @@ +# -*- mode: sh; sh-indentation: 4; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# Copyright (c) 2016-2020 Sebastian Gniazdowski and contributors. + + ZINIT+=( + col-annex $'\e[38;5;57m' col-faint $'\e[38;5;238m' col-msg2 $'\e[38;5;172m' + col-apo $'\e[1;38;5;178m' col-file $'\e[3;38;5;178m' col-msg3 $'\e[38;5;238m' + col-flag $'\e[1;3;38;5;178m' col-nb $'\e[22m' col-rst $'\e[0m' + col-b $'\e[1m' col-func $'\e[38;5;178m' col-nit $'\e[23m' col-slight $'\e[38;5;230m' + col-b-lhi $'\e[1;38;5;178m' col-glob $'\e[38;5;137m' + col-nl $'\n' col-st $'\e[9m' + col-b-warn $'\e[1;38;5;105m' col-happy $'\e[1m\e[38;5;82m' col-note $'\e[38;5;172m' + col-hi $'\e[1m\e[38;5;183m' col-nst $'\e[29m' + col-ice $'\e[38;5;172m' col-nu $'\e[24m' col-th-bar $'\e[38;5;82m' + col-bar $'\e[38;5;172m' col-id-as $'\e[4;38;5;172m' col-num $'\e[3;38;5;172m' col-time $'\e[38;5;178m' + col-info $'\e[38;5;82m' col-obj $'\e[38;5;178m' + col-bspc $'\b' col-info2 $'\e[38;5;172m' col-obj2 $'\e[38;5;172m' col-u $'\e[4m' + col-cmd $'\e[38;5;172m' col-info3 $'\e[1m\e[38;5;178m' col-ok $'\e[38;5;220m' col-u-warn $'\e[4;38;5;214m' + col-data $'\e[38;5;178m' col-it $'\e[3m' col-opt $'\e[38;5;219m' col-uname $'\e[1;4m\e[33m' + col-data2 $'\e[38;5;137m' col-keyword $'\e[1;38;5;172m' col-p $'\e[38;5;178m' + col-dir $'\e[3;38;5;178m' col-lhi $'\e[1;38;5;220m' col-pkg $'\e[1;3;38;5;178m' col-url $'\e[38;5;178m' + col-ehi $'\e[1m\e[38;5;153m' col-meta $'\e[38;5;57m' col-pname $'\e[1;4;32m' col-var $'\e[38;5;57m' + col-error $'\e[1m\e[38;5;204m' col-meta2 $'\e[38;5;57m' col-pre $'\e[38;5;178m' col-version $'\e[3;38;5;57m' + col-msg $'\e[0m' col-profile $'\e[38;5;57m' col-warn $'\e[38;5;57m' + + col-i $'\e[1m\e[38;5;57m'"==>"$'\e[0m' col-e $'\e[1;38;5;204m'"Error: "$'\e[0m' + col-m $'\e[1;38;5;172m'"==>"$'\e[0m' col-w $'\e[1;38;5;57m'"Warning: "$'\e[0m' + + col--… "${${${(M)LANG:#*UTF-8*}:+⋯⋯}:-···}" col-lr "${${${(M)LANG:#*UTF-8*}:+↔}:-"«-»"}" + col-ndsh "${${${(M)LANG:#*UTF-8*}:+–}:-}" col-… "${${${(M)LANG:#*UTF-8*}:+…}:-...}" + + col-mdsh $'\e[1;38;5;220m'"${${${(M)LANG:#*UTF-8*}:+–}:--}"$'\e[0m' + col-mmdsh $'\e[1;38;5;220m'"${${${(M)LANG:#*UTF-8*}:+――}:--}"$'\e[0m' + + col-↔ ${${${(M)LANG:#*UTF-8*}:+$'\e[38;5;82m↔\e[0m'}:-$'\e[38;5;82m«-»\e[0m'} +) +if [[ -z $SOURCED && ( $+terminfo -eq 1 && \ + $terminfo[colors] -ge 256) || \ + ( $+termcap -eq 1 && $termcap[Co] -ge 256 ) ]] +then + ZINIT+=( col-pname $'\e[1;4;38;5;178m' col-uname $'\e[1;4;38;5;220m' ) +fi + +# vim: ft=zsh sw=4 ts=4 et foldmarker=[[[,]]] foldmethod=marker diff --git a/zinit-install.zsh b/zinit-install.zsh index 14fb11eac..7e94a6231 100644 --- a/zinit-install.zsh +++ b/zinit-install.zsh @@ -1691,6 +1691,7 @@ ziextract() { local file="$1" fun="$2" retval (( !OPTS[opt_-q,--quiet] )) && \ +zi-log "{info}[{pre}ziextract{info}]{rst} Unpacking the files from: \`{obj}$file{msg}'{…}{rst}" + $fun; retval=$? if (( retval == 0 )) { local -a files diff --git a/zinit.zsh b/zinit.zsh index 6547717b2..07fce7da9 100644 --- a/zinit.zsh +++ b/zinit.zsh @@ -143,6 +143,8 @@ typeset -g ZPFX : ${ZPFX:=${ZINIT[HOME_DIR]}/polaris} : ${ZINIT[ALIASES_OPT]::=${${options[aliases]:#off}:+1}} : ${ZINIT[MAN_DIR]:=${ZPFX}/man} +: ${ZINIT[THEME_DIR]:=$ZINIT[BIN_DIR]/share/themes} +: ${ZITHEME:=default} ZINIT[PLUGINS_DIR]=${~ZINIT[PLUGINS_DIR]} ZINIT[COMPLETIONS_DIR]=${~ZINIT[COMPLETIONS_DIR]} ZINIT[SNIPPETS_DIR]=${~ZINIT[SNIPPETS_DIR]} ZINIT[SERVICES_DIR]=${~ZINIT[SERVICES_DIR]} @@ -196,42 +198,17 @@ zmodload zsh/parameter || { builtin print -P "%F{196}zsh/parameter module is req zmodload zsh/term{cap,info} 2>/dev/null autoload -Uz colors && colors -if [[ -z $SOURCED && ( ${+terminfo} -eq 1 && -n ${terminfo[colors]} ) || ( ${+termcap} -eq 1 && -n ${termcap[Co]} ) ]]; then - ZINIT+=( - col-annex $'\e[38;5;153m' col-faint $'\e[38;5;238m' col-msg2 $'\e[38;5;172m' col-quo $'\e[1;38;5;33m' - col-apo $'\e[1;38;5;45m' col-file $'\e[3;38;5;117m' col-msg3 $'\e[38;5;238m' col-quos $'\e[1;38;5;160m' - col-aps $'\e[38;5;117m' col-flag $'\e[1;3;38;5;79m' col-nb $'\e[22m' col-rst $'\e[0m' - col-b $'\e[1m' col-func $'\e[38;5;219m' col-nit $'\e[23m' col-slight $'\e[38;5;230m' - col-b-lhi $'\e[1m\e[38;5;75m' col-glob $'\e[38;5;227m' col-nl $'\n' col-st $'\e[9m' - col-b-warn $'\e[1;38;5;214m' col-happy $'\e[1m\e[38;5;82m' col-note $'\e[38;5;148m' col-tab $' \t ' - col-bapo $'\e[1;38;5;220m' col-hi $'\e[1m\e[38;5;183m' col-nst $'\e[29m' col-term $'\e[38;5;185m' - col-baps $'\e[1;38;5;82m' col-ice $'\e[38;5;39m' col-nu $'\e[24m' col-th-bar $'\e[38;5;82m' - col-bar $'\e[38;5;82m' col-id-as $'\e[4;38;5;220m' col-num $'\e[3;38;5;155m' col-time $'\e[38;5;220m' - col-bcmd $'\e[38;5;220m' col-info $'\e[38;5;82m' col-obj $'\e[38;5;218m' col-txt $'\e[38;5;254m' - col-bspc $'\b' col-info2 $'\e[38;5;227m' col-obj2 $'\e[38;5;118m' col-u $'\e[4m' - col-cmd $'\e[38;5;82m' col-info3 $'\e[1m\e[38;5;227m' col-ok $'\e[38;5;220m' col-u-warn $'\e[4;38;5;214m' - col-data $'\e[38;5;82m' col-it $'\e[3m' col-opt $'\e[38;5;219m' col-uname $'\e[1;4m\e[35m' - col-data2 $'\e[38;5;117m' col-keyword $'\e[32m' col-p $'\e[38;5;81m' col-uninst $'\e[38;5;118m' - col-dir $'\e[3;38;5;153m' col-lhi $'\e[38;5;81m' col-pkg $'\e[1;3;38;5;27m' col-url $'\e[38;5;75m' - col-ehi $'\e[1m\e[38;5;210m' col-meta $'\e[38;5;57m' col-pname $'\e[1;4m\e[32m' col-var $'\e[38;5;81m' - col-error $'\e[1m\e[38;5;204m' col-meta2 $'\e[38;5;147m' col-pre $'\e[38;5;135m' col-version $'\e[3;38;5;87m' - col-failure $'\e[38;5;204m' col-msg $'\e[0m' col-profile $'\e[38;5;148m' col-warn $'\e[38;5;214m' - - col-i $'\e[1m\e[38;5;82m'"==>"$'\e[0m' col-e $'\e[1m\e[38;5;204m'"Error: "$'\e[0m' - col-m $'\e[1m\e[38;5;135m'"==>"$'\e[0m' col-w $'\e[1;38;5;214m'"Warning: "$'\e[0m' - - col--… "${${${(M)LANG:#*UTF-8*}:+⋯⋯}:-···}" col-lr "${${${(M)LANG:#*UTF-8*}:+↔}:-"«-»"}" - col-ndsh "${${${(M)LANG:#*UTF-8*}:+–}:-}" col-… "${${${(M)LANG:#*UTF-8*}:+…}:-...}" - - col-mdsh $'\e[1;38;5;220m'"${${${(M)LANG:#*UTF-8*}:+–}:--}"$'\e[0m' - col-mmdsh $'\e[1;38;5;220m'"${${${(M)LANG:#*UTF-8*}:+――}:--}"$'\e[0m' - - col-↔ ${${${(M)LANG:#*UTF-8*}:+$'\e[38;5;82m↔\e[0m'}:-$'\e[38;5;82m«-»\e[0m'} - ) - if [[ ( ${+terminfo} -eq 1 && ${terminfo[colors]} -ge 256 ) || ( ${+termcap} -eq 1 && ${termcap[Co]} -ge 256 ) ]]; then - ZINIT+=( col-pname $'\e[1;4m\e[38;5;39m' col-uname $'\e[1;4m\e[38;5;207m' ) - fi -fi +if [[ -z $SOURCED && ( $+terminfo -eq 1 && -n $terminfo[colors] ) || \ + ( $+termcap -eq 1 && -n $termcap[Co] ) +]] { + ZINIT[TMP]=0 + if [[ -f $ZINIT[THEME_DIR]/$ZITHEME.zsh ]];then + source $ZINIT[THEME_DIR]/$ZITHEME.zsh && ZINIT[TMP]=1 + fi + ((ZINIT[TMP]))||print -r -P -- %F{203}Warning:%f problem \ + loading color theme: %F{57}$ZITHEME%f \(from: \ + %F{33}$ZINIT[THEME_DIR]%f\) +} # Hooks typeset -gAH ZINIT_ZLE_HOOKS_LIST