commit 7f41df91f18cb32a34d4cff2746e4344d8f7830d
parent 8b9e5f19cdc509be44abe39ef0289c28739a2794
Author: emmett1 <emmett1.2miligrams@protonmail.com>
Date: Sun, 15 Mar 2026 23:58:18 +0800
fix symlink show twice, one as symlink, one as directory
Diffstat:
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/sfm b/sfm
@@ -94,17 +94,19 @@ load_entries() {
# build list of dir names then file names, including dotfiles if enabled
for d in "$CWD"/*/; do
[ -d "$d" ] || continue
+ [ -L "${d%/}" ] && continue # symlinks handled separately
name="${d%/}"; name="${name##*/}"
[ "$name" = "*" ] && continue
- case "$name" in .*) continue ;; esac # skip dotdirs here, handle below
+ case "$name" in .*) continue ;; esac
ENTRIES="$ENTRIES
${name}/"
COUNT=$((COUNT + 1))
done
if [ "$SHOW_HIDDEN" = "1" ]; then
- for d in "$CWD"/./; do : ; done # no-op, just to avoid error
+ for d in "$CWD"/./; do : ; done
for d in "$CWD"/.*/; do
[ -d "$d" ] || continue
+ [ -L "${d%/}" ] && continue # symlinks handled separately
name="${d%/}"; name="${name##*/}"
[ "$name" = "." ] || [ "$name" = ".." ] && continue
[ "$name" = ".*" ] && continue