浏览代码

feat(z): update z to latest version (#10267)

Ryan Zegray 3 年之前
父节点
当前提交
7418814677
共有 1 个文件被更改,包括 10 次插入6 次删除
  1. 10 6
      plugins/z/z.sh

+ 10 - 6
plugins/z/z.sh

@@ -42,6 +42,8 @@ _z() {
     [ -z "$_Z_OWNER" -a -f "$datafile" -a ! -O "$datafile" ] && return
     [ -z "$_Z_OWNER" -a -f "$datafile" -a ! -O "$datafile" ] && return
 
 
     _z_dirs () {
     _z_dirs () {
+        [ -f "$datafile" ] || return
+
         local line
         local line
         while read line; do
         while read line; do
             # only count directories
             # only count directories
@@ -54,14 +56,16 @@ _z() {
     if [ "$1" = "--add" ]; then
     if [ "$1" = "--add" ]; then
         shift
         shift
 
 
-        # $HOME isn't worth matching
-        [ "$*" = "$HOME" ] && return
+        # $HOME and / aren't worth matching
+        [ "$*" = "$HOME" -o "$*" = '/' ] && return
 
 
         # don't track excluded directory trees
         # don't track excluded directory trees
-        local exclude
-        for exclude in "${_Z_EXCLUDE_DIRS[@]}"; do
-            case "$*" in "$exclude*") return;; esac
-        done
+        if [ ${#_Z_EXCLUDE_DIRS[@]} -gt 0 ]; then
+            local exclude
+            for exclude in "${_Z_EXCLUDE_DIRS[@]}"; do
+                case "$*" in "$exclude"*) return;; esac
+            done
+        fi
 
 
         # maintain the data file
         # maintain the data file
         local tempfile="$datafile.$RANDOM"
         local tempfile="$datafile.$RANDOM"