diff options
author | Ben Hilburn <bhilburn@gmail.com> | 2016-01-06 00:07:01 +0300 |
---|---|---|
committer | Ben Hilburn <bhilburn@gmail.com> | 2016-01-06 00:07:01 +0300 |
commit | 2945c9344485193540dde46db81cd7d5064a2b9f (patch) | |
tree | eda2ae568fce5268116bfaaa4a0b2298fbc76d6f | |
parent | 4437e539e9541251746b0917bfd0aea1ffa3493a (diff) | |
parent | e7e11d5ec87f30323d065100c1e8fdb4a98c3aba (diff) |
Merge pull request #174 from niklas-heer/shorten-fish_like
added fish-like shortening strategy
-rw-r--r-- | README.md | 13 | ||||
-rwxr-xr-x | powerlevel9k.zsh-theme | 8 |
2 files changed, 18 insertions, 3 deletions
@@ -205,6 +205,19 @@ To change the way how the current working directory is truncated, just set: POWERLEVEL9K_SHORTEN_STRATEGY="truncate_from_right" # default behaviour is to truncate whole directories +You can also change the delimiter (the dots in between) which is used to truncate the working directory. This setting is optional. The default are 2 dots. + + # set the delimiter to an empty string to hide it + POWERLEVEL9K_SHORTEN_DELIMITER="" + # or set it to anything else you want (e.g. 3 dots) + POWERLEVEL9K_SHORTEN_DELIMITER="..." + +With this you could achive the truncate behaviour of the fish shell. Which turncates `/usr/share/plasma` to `/u/s/plasma` + + POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 + POWERLEVEL9K_SHORTEN_DELIMITER="" + POWERLEVEL9K_SHORTEN_STRATEGY="truncate_from_right" + In each case you have to specify the length you want to shorten the directory to. So in some cases `POWERLEVEL9K_SHORTEN_DIR_LENGTH` means characters, in others whole directories. diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 19c5ea98..706c198a 100755 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -407,15 +407,17 @@ prompt_dir() { local current_path='%~' if [[ -n "$POWERLEVEL9K_SHORTEN_DIR_LENGTH" ]]; then + set_default POWERLEVEL9K_SHORTEN_DELIMITER ".." + case "$POWERLEVEL9K_SHORTEN_STRATEGY" in truncate_middle) - current_path=$(pwd | sed -e "s,^$HOME,~," | sed $SED_EXTENDED_REGEX_PARAMETER "s/([^/]{$POWERLEVEL9K_SHORTEN_DIR_LENGTH})[^/]+([^/]{$POWERLEVEL9K_SHORTEN_DIR_LENGTH})\//\1\.\.\2\//g") + current_path=$(pwd | sed -e "s,^$HOME,~," | sed $SED_EXTENDED_REGEX_PARAMETER "s/([^/]{$POWERLEVEL9K_SHORTEN_DIR_LENGTH})[^/]+([^/]{$POWERLEVEL9K_SHORTEN_DIR_LENGTH})\//\1$POWERLEVEL9K_SHORTEN_DELIMITER\2\//g") ;; truncate_from_right) - current_path=$(pwd | sed -e "s,^$HOME,~," | sed $SED_EXTENDED_REGEX_PARAMETER "s/([^/]{$POWERLEVEL9K_SHORTEN_DIR_LENGTH})[^/]+\//\1..\//g") + current_path=$(pwd | sed -e "s,^$HOME,~," | sed $SED_EXTENDED_REGEX_PARAMETER "s/([^/]{$POWERLEVEL9K_SHORTEN_DIR_LENGTH})[^/]+\//\1$POWERLEVEL9K_SHORTEN_DELIMITER\//g") ;; *) - current_path="%$((POWERLEVEL9K_SHORTEN_DIR_LENGTH+1))(c:.../:)%${POWERLEVEL9K_SHORTEN_DIR_LENGTH}c" + current_path="%$((POWERLEVEL9K_SHORTEN_DIR_LENGTH+1))(c:$POWERLEVEL9K_SHORTEN_DELIMITER/:)%${POWERLEVEL9K_SHORTEN_DIR_LENGTH}c" ;; esac |