summaryrefslogtreecommitdiff
path: root/plugins/jump/jump.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/jump/jump.plugin.zsh')
-rw-r--r--plugins/jump/jump.plugin.zsh13
1 files changed, 10 insertions, 3 deletions
diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh
index 86d9553a2..d161a6da0 100644
--- a/plugins/jump/jump.plugin.zsh
+++ b/plugins/jump/jump.plugin.zsh
@@ -19,7 +19,7 @@ mark() {
MARK="$1"
fi
if read -q \?"Mark $PWD as ${MARK}? (y/n) "; then
- mkdir -p "$MARKPATH"; ln -s "$PWD" "$MARKPATH/$MARK"
+ mkdir -p "$MARKPATH"; ln -sfn "$PWD" "$MARKPATH/$MARK"
fi
}
@@ -28,11 +28,18 @@ unmark() {
}
marks() {
+ local max=0
+ for link in $MARKPATH/*(@); do
+ if [[ ${#link:t} -gt $max ]]; then
+ max=${#link:t}
+ fi
+ done
+ local printf_markname_template="$(printf -- "%%%us " "$max")"
for link in $MARKPATH/*(@); do
local markname="$fg[cyan]${link:t}$reset_color"
local markpath="$fg[blue]$(readlink $link)$reset_color"
- printf "%s\t" $markname
- printf "-> %s \t\n" $markpath
+ printf -- "$printf_markname_template" "$markname"
+ printf -- "-> %s\n" "$markpath"
done
}