From ec16bafc180f13ef630aded210de373e8d40af5d Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Tue, 16 Jul 2019 15:14:01 +0100 Subject: [PATCH] Better git prompt, now with color! --- states/zsh/files/zshenv | 7 +++++++ states/zsh/files/zshrc | 33 +++++++++------------------------ 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/states/zsh/files/zshenv b/states/zsh/files/zshenv index c325783..fd7df7d 100644 --- a/states/zsh/files/zshenv +++ b/states/zsh/files/zshenv @@ -14,3 +14,10 @@ fi export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' export EDITOR="vim" export TMPDIR="/tmp/${USER}" + +export GIT_PS1_SHOWDIRTYSTATE=true +export GIT_PS1_SHOWSTASHSTATE=true +export GIT_PS1_SHOWUNTRACKEDFILEDS=true +export GIT_PS1_SHOWUPSTREAM="verbose" +export GIT_PS1_DESCRIBE_STYLE="branch" +export GIT_PS1_SHOWCOLORHINTS="color" diff --git a/states/zsh/files/zshrc b/states/zsh/files/zshrc index 365ca41..3f3d61b 100644 --- a/states/zsh/files/zshrc +++ b/states/zsh/files/zshrc @@ -28,36 +28,20 @@ unsetopt beep notify bindkey -v # End of lines configured by zsh-newuser-install - -git_prompt() { - ref=$(git symbolic-ref HEAD | cut -d'/' -f3-) - echo $ref -} - +# Prompt NEWLINE=$'\n' setopt prompt_subst -autoload -Uz vcs_info -zstyle ':vcs_info:*' actionformats \ - "%F{5}[%f%b%F{3}|%F{1}%a%F{5}]%f${NEWLINE}" -zstyle ':vcs_info:*' formats \ - "%F{5}[%f%b%F{5}]%f${NEWLINE}" -zstyle ':vcs_info:*' enable git +p="%(?;%F{green};%F{red})[%h]%f " +p+="%F{red}%B%n%b%f@%F{red}%B%m%b%f" +p+=":%F{blue}%~%f" +p+="${NEWLINE}%(!.#.$) " -# or use pre_cmd, see man zshcontrib -precmd() { - vcs_info - if [[ -n ${vcs_info_msg_0_} ]]; then - echo - fi +source ~/.git-prompt.sh +precmd () { + __git_ps1 "" "${p}" "${NEWLINE}[%s]${NEWLINE}" } -prompt='$vcs_info_msg_0_' -prompt+="%(?;%F{green};%F{red})[%h]%f " -prompt+="%F{red}%B%n%b%f@%F{red}%B%m%b%f" -prompt+=":%F{blue}%~%f" -prompt+="${NEWLINE}%(!.#.$) " - if ! pgrep -x -u "${USER}" gpg-agent >/dev/null 2>&1; then gpg-connect-agent /bye >/dev/null 2>&1 fi @@ -67,4 +51,5 @@ if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) fi + gpg-connect-agent updatestartuptty /bye > /dev/null -- 2.46.2