summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2018-08-20 18:03:41 +0200
committerMarc Cornellà <marc.cornella@live.com>2018-08-20 18:03:41 +0200
commite97262499780caadf5388c3b612100b87da39548 (patch)
tree8b5de0303f413c44daa44de0c7d7b458acf9b55b
parentb4c8b60bb45f00f3cd68000ceda3c96b2ad852ed (diff)
downloadzsh-e97262499780caadf5388c3b612100b87da39548.tar.gz
zsh-e97262499780caadf5388c3b612100b87da39548.tar.bz2
zsh-e97262499780caadf5388c3b612100b87da39548.zip
trapd00r: simplify logic and optimize for loop
This version splits the `$PWD` by the slashes and prints the path directory by directory, printing the separators as before.
-rwxr-xr-xthemes/trapd00r.zsh-theme34
1 files changed, 16 insertions, 18 deletions
diff --git a/themes/trapd00r.zsh-theme b/themes/trapd00r.zsh-theme
index 33579e728..7c36487b3 100755
--- a/themes/trapd00r.zsh-theme
+++ b/themes/trapd00r.zsh-theme
@@ -50,31 +50,29 @@ zsh_path() {
17 '%F{202}' 18 '%F{166}'
)
- local c i=1
- for c (${(s::)PWD}); do
- if [[ $c = "/" ]]; then
- if [[ $i -eq 1 ]]; then
- if [[ $colors -ge 256 ]]; then
- print -Pn "%F{065}%B /%b"
- else
- print -Pn "\e[31;1m /"
- fi
+ local dir i=1
+ for dir (${(s:/:)PWD}); do
+ if [[ $i -eq 1 ]]; then
+ if [[ $colors -ge 256 ]]; then
+ print -Pn "%F{065}%B /%b"
else
- if [[ $colors -ge 256 ]]; then
- print -Pn "${yellow[$i]:-%f} » "
- else
- print -Pn "%F{yellow} > "
- fi
+ print -Pn "\e[31;1m /"
fi
-
- (( i++ ))
else
if [[ $colors -ge 256 ]]; then
- print -Pn "%F{065}$c"
+ print -Pn "${yellow[$i]:-%f} » "
else
- print -Pn "%F{blue}$c"
+ print -Pn "%F{yellow} > "
fi
fi
+
+ (( i++ ))
+
+ if [[ $colors -ge 256 ]]; then
+ print -Pn "%F{065}$dir"
+ else
+ print -Pn "%F{blue}$dir"
+ fi
done
print -Pn "%f"
}