Browse Source

jump plugin: fix autocompletion with single mark

Autocompletion fails if there's only one mark, since the ls command
will not display the parent directory with the trailing colon.
Handling the single mark case separately and validating the symlink
explicitly, resolves the issue.
Thomas Hipp 10 years ago
parent
commit
91b6a6b5a4
1 changed files with 7 additions and 1 deletions
  1. 7 1
      plugins/jump/jump.plugin.zsh

+ 7 - 1
plugins/jump/jump.plugin.zsh

@@ -38,7 +38,13 @@ marks() {
 }
 
 _completemarks() {
-	reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([_\da-zA-Z\-]*):$/\2/g'))
+	if [[ $(ls "${MARKPATH}" | wc -l) -gt 1 ]]; then
+		reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([_\da-zA-Z\-]*):$/\2/g'))
+	else
+		if readlink -e "${MARKPATH}"/* &>/dev/null; then
+			reply=($(ls "${MARKPATH}"))
+		fi
+	fi
 }
 compctl -K _completemarks jump
 compctl -K _completemarks unmark