diff options
author | Ben Hilburn <bhilburn@gmail.com> | 2016-10-27 17:59:55 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-27 17:59:55 +0300 |
commit | fd9c998f02966229d0dfa576d0056bae21267a2a (patch) | |
tree | 25f631fa68ce5bf68627cb9ab697eb4a41395cbe | |
parent | 3c92cf9748cff350a14cc8f42eda439c5fe01baa (diff) | |
parent | 8d7a4e462ae93169be59c07a06c269fc254aa96b (diff) |
Merge pull request #333 from eviltak/dir-truncate-right-with-delim-len
Consider delimiter length while right truncating directories
-rw-r--r-- | functions/utilities.zsh | 4 | ||||
-rwxr-xr-x | test/segments/dir.spec | 2 |
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 |