diff options
Diffstat (limited to 'themes')
| -rw-r--r-- | themes/dieter.zsh-theme | 32 | 
1 files changed, 26 insertions, 6 deletions
diff --git a/themes/dieter.zsh-theme b/themes/dieter.zsh-theme index 5b61c80ce..a14829fc0 100644 --- a/themes/dieter.zsh-theme +++ b/themes/dieter.zsh-theme @@ -2,21 +2,25 @@  # and colorcoding, which bring useful visual cues.  While limiting the amount of colors and such to keep  # it easy on the eyes  # exact return code (when >0) is on the right, so it stays out of the way - -# TODO: reset exit code visual cues (not exit code itself) after showing once -# TODO: compress hostname in window title +# The visual cues for >0 exit codes will only display once +# (i.e. they will be reset, even if you hit enter a few times on empty command prompts)  typeset -A host_repr  host_repr=('dieter-ws-a7n8x-arch' "%{$fg_bold[green]%}ws" 'dieter-p4sci-arch' "%{$fg_bold[blue]%}p4")  # local time, color coded after last return code -local time="%(?.%{$fg[green]%}.%{$fg[red]%})%*%{$reset_color%}" +time_enabled="%(?.%{$fg[green]%}.%{$fg[red]%})%*%{$reset_color%}" +time_disabled="%{$fg[green]%}%*%{$reset_color%}" +time=$time_enabled +  # user part, color coded after privileges  local user="%(!.%{$fg[blue]%}.%{$fg[blue]%})%n%{$reset_color%}" +  # Hostname part.  compressed and colorcoded per host_repr array  # if not found, regular hostname in default color  local host="@${host_repr[$(hostname)]:-$(hostname)}%{$reset_color%}" +  # Compacted $PWD  local pwd="%{$fg[blue]%}%c%{$reset_color%}" @@ -29,5 +33,21 @@ ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[green]%} %{$fg[yellow]%}?%{$fg[green]%}%{$rese  ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[green]%}"  # elaborate exitcode on the right when >0 -local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" -RPS1="${return_code}" +return_code_enabled="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" +return_code_disabled= +return_code=$return_code_enabled + +RPS1='${return_code}' + +function accept-line-or-clear-warning () { +	if [[ -z $BUFFER ]]; then +		time=$time_disabled +		return_code=$return_code_disabled +	else +		time=$time_enabled +		return_code=$return_code_enabled +	fi +	zle accept-line +} +zle -N accept-line-or-clear-warning +bindkey '^M' accept-line-or-clear-warning  | 
