diff --git a/spaceship.zsh b/spaceship.zsh index 36ccb98a1..bc42ac2d3 100644 --- a/spaceship.zsh +++ b/spaceship.zsh @@ -84,6 +84,8 @@ SPACESHIP_DIR_SUFFIX="${SPACESHIP_DIR_SUFFIX:="$SPACESHIP_PROMPT_DEFAULT_SUFFIX" SPACESHIP_DIR_TRUNC="${SPACESHIP_DIR_TRUNC:=3}" SPACESHIP_DIR_COLOR="${SPACESHIP_DIR_COLOR:="cyan"}" +SPACESHIP_DIR_TRUNC_IN_GIT="${SPACESHIP_DIR_TRUNC_IN_GIT:=false}" + # GIT SPACESHIP_GIT_SHOW="${SPACESHIP_GIT_SHOW:=true}" SPACESHIP_GIT_PREFIX="${SPACESHIP_GIT_PREFIX:="on "}" @@ -446,11 +448,21 @@ spaceship_host() { spaceship_dir() { [[ $SPACESHIP_DIR_SHOW == false ]] && return - _prompt_section \ - "$SPACESHIP_DIR_COLOR" \ - "$SPACESHIP_DIR_PREFIX" \ - "%${SPACESHIP_DIR_TRUNC}~" \ - "$SPACESHIP_DIR_SUFFIX" + if _is_git && [[ $SPACESHIP_DIR_TRUNC_IN_GIT == true ]]; then + GIT_ROOT=$(git rev-parse --show-toplevel) + + _prompt_section \ + "$SPACESHIP_DIR_COLOR" \ + "$SPACESHIP_DIR_PREFIX" \ + "$GIT_ROOT:t${$(expr $(pwd) : "$GIT_ROOT\(.*\)")}" \ + "$SPACESHIP_DIR_SUFFIX" + else + _prompt_section \ + "$SPACESHIP_DIR_COLOR" \ + "$SPACESHIP_DIR_PREFIX" \ + "%${SPACESHIP_DIR_TRUNC}~" \ + "$SPACESHIP_DIR_SUFFIX" + fi } # GIT BRANCH