summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--functions/utilities.zsh4
-rwxr-xr-xtest/segments/dir.spec2
2 files changed, 4 insertions, 2 deletions
diff --git a/functions/utilities.zsh b/functions/utilities.zsh
index c9bd2e46..f27c7f99 100644
--- a/functions/utilities.zsh
+++ b/functions/utilities.zsh
@@ -204,5 +204,7 @@ function segmentShouldBeJoined() {
# Given a directory path, truncate it according to the settings for
# `truncate_from_right`
function truncatePathFromRight() {
- echo $1 | sed $SED_EXTENDED_REGEX_PARAMETER "s/([^/]{$POWERLEVEL9K_SHORTEN_DIR_LENGTH})[^/]+\//\1$POWERLEVEL9K_SHORTEN_DELIMITER\//g"
+ local delim_len=${#POWERLEVEL9K_SHORTEN_DELIMITER}
+ echo $1 | sed $SED_EXTENDED_REGEX_PARAMETER \
+ "s@(([^/]{$((POWERLEVEL9K_SHORTEN_DIR_LENGTH))})([^/]{$delim_len}))[^/]+/@\2$POWERLEVEL9K_SHORTEN_DELIMITER/@g"
}
diff --git a/test/segments/dir.spec b/test/segments/dir.spec
index 035addea..840a298b 100755
--- a/test/segments/dir.spec
+++ b/test/segments/dir.spec
@@ -60,7 +60,7 @@ function testTruncationFromRightWorks() {
mkdir -p $FOLDER
cd $FOLDER
- assertEquals "%K{blue} %F{black}/tm…/po…/1/12/12…/12…/12…/12…/12…/12…/123456789 %k%F{blue}%f " "$(build_left_prompt)"
+ assertEquals "%K{blue} %F{black}/tmp/po…/1/12/123/12…/12…/12…/12…/12…/123456789 %k%F{blue}%f " "$(build_left_prompt)"
cd -
rm -fr /tmp/powerlevel9k-test