From cc576c42c2d81d6201658271541bc13fb4229615 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 16 Jun 2026 18:55:44 +0200 Subject: feat: skip editor/temp junk in --suggest output Vim undo/swap files, backups, *.tmp and .DS_Store matched the home-dir scan and cluttered suggestions. Filter them by suffix in both scan loops. Co-Authored-By: Claude Opus 4.8 --- dot-backup.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'dot-backup.sh') diff --git a/dot-backup.sh b/dot-backup.sh index e95c67f..892529c 100755 --- a/dot-backup.sh +++ b/dot-backup.sh @@ -251,6 +251,15 @@ _suggest_ignored() { return 1 } +# True if basename $1 looks like editor/temp junk (vim undo/swap, backups, etc.) +_suggest_junk() { + local b="$1" + case "$b" in + *.un~|*~|*.swp|*.swo|*.tmp|.DS_Store) return 0 ;; + *) return 1 ;; + esac +} + do_suggest() { local epoch_file="${DEFAULT_OUTPUT_DIR}/lastupdate.epoch" local last_epoch=0 @@ -272,6 +281,7 @@ do_suggest() { [[ -e "$path" ]] || continue base="$(basename "$path")" emit=".config/${base}" + _suggest_junk "$base" && continue _suggest_ignored "$base" && continue _suggest_covered "$emit" && continue mtime="$(stat -c %Y "$path" 2>/dev/null || echo 0)" @@ -284,6 +294,7 @@ do_suggest() { [[ "$base" == "." || "$base" == ".." ]] && continue [[ -d "$path" || -f "$path" ]] || continue emit="${base}" + _suggest_junk "$base" && continue _suggest_ignored "$base" && continue _suggest_covered "$emit" && continue mtime="$(stat -c %Y "$path" 2>/dev/null || echo 0)" -- cgit v1.2.3