aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xpowerlevel9k.zsh-theme2
-rwxr-xr-xtest/segments/dir.spec18
2 files changed, 19 insertions, 1 deletions
diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme
index 8cdde608..24967429 100755
--- a/powerlevel9k.zsh-theme
+++ b/powerlevel9k.zsh-theme
@@ -798,7 +798,7 @@ prompt_dir() {
# using $PWD instead of "$(print -P '%~')" to allow use of POWERLEVEL9K_DIR_PATH_ABSOLUTE
local current_path=$PWD # WAS: local current_path="$(print -P '%~')"
# check if the user wants to use absolute paths or "~" paths
- [[ ${(L)POWERLEVEL9K_DIR_PATH_ABSOLUTE} != "true" ]] && current_path=${current_path//$HOME/"~"}
+ [[ ${(L)POWERLEVEL9K_DIR_PATH_ABSOLUTE} != "true" ]] && current_path=${current_path/#$HOME/"~"}
# declare all local variables
local paths directory test_dir test_dir_length trunc_path threshhold
# if we are not in "~" or "/", split the paths into an array and exclude "~"
diff --git a/test/segments/dir.spec b/test/segments/dir.spec
index 46e0cfb8..d75ca42f 100755
--- a/test/segments/dir.spec
+++ b/test/segments/dir.spec
@@ -768,4 +768,22 @@ function testDirSeparatorColorRootSubSubdirWorks() {
rm -fr /tmp/powerlevel9k-test
}
+function testDirHomeTruncationWorksOnlyAtTheBeginning() {
+ local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
+ POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
+
+ local FOLDER=/tmp/p9ktest
+ local SAVED_HOME="${HOME}"
+ HOME="/p9ktest"
+
+ mkdir -p $FOLDER
+ # Setup folder marker
+ cd $FOLDER
+ assertEquals "%K{004} %F{000}/tmp/p9ktest %k%F{004}%f " "$(build_left_prompt)"
+
+ cd -
+ rm -fr $FOLDER
+ HOME="${SAVED_HOME}"
+}
+
source shunit2/shunit2