host info updates
[distro-setup] / brc
diff --git a/brc b/brc
index 3f4d9f9c8ebe535c2c10bc3479ba2b21e4502f06..7731b9cdd7c0652302300b7571bb663c4b134726 100644 (file)
--- a/brc
+++ b/brc
@@ -1390,6 +1390,7 @@ fa() {
   done < <(find "$@" -print0);
 }
 
+# shellcheck disable=SC2120
 faf() { # find all files. use -L to follow symlinks
   find "$@" -not \( -name .svn -prune -o -name .git -prune \
        -o -name .hg -prune -o -name .editor-backups -prune \
@@ -2436,19 +2437,24 @@ sgu() {
   systemctl list-unit-files | rg "$@"
 }
 
+# check whether we generally want to do sk on the file
+sk-p() {
+  [[ ! -L $f ]] && istext "$1" && [[ $(head -n1 "$1" 2>/dev/null) == '#!/bin/bash'* ]]
+}
 
 sk() {
   # see https://savannah.gnu.org/maintenance/fsf/bash-style-guide/ for justifications
   local quotes others ret
   quotes=2048,2068,2086,2206,2254
-  others=2029,2032,2033,2054,2164,
-  shellcheck -W 999 -x -e $quotes,$others "$@" || ret=$?
+  others=2029,2032,2033,2054,2164
+  shellcheck -x -W 999 -e $quotes,$others "$@" || ret=$?
   if (( ret >= 1 )); then
     echo "A template comment to disable is now in clipboard. eg: # shellcheck disable=SC2206 # reason"
     cbs "# shellcheck disable=SC"
     return $ret
   fi
 }
+
 # sk with quotes. For checking scripts that we expect to take untrusted
 # input in order to verify we quoted vars.
 skq() {
@@ -2461,44 +2467,31 @@ skq() {
 skmodified() {
   local f
   for f in $(i s | awk '$1 == "modified:" {print $2}'); do
-    if [[ ! -L $f ]] && istext "$f" && [[ $(head -n1 "$f" 2>/dev/null) == '#!/bin/bash'* ]]; then
+    if sk-p "$f"; then
       sk $f ||:
     fi
   done
 }
 
-# sk on all the files in current git repo (except those excluded)
+
+# sk on all the files in current git repo
 skgit() {
-  local f toplevel orig_dir tmp skip e
-  local -a ls_files excludes
+  local f toplevel orig_dir tmp
+  local -a ls_files sk_files
   toplevel=$(git rev-parse --show-toplevel)
   if [[ $PWD != "$toplevel" ]]; then
     orig_dir=$PWD
     cd $toplevel
   fi
-  excludes=(
-    'disabled/*'
-    # included from another file and checked there
-    beet-data
-    brc
-    brc2
-  )
-  tmp=$(git ls-files)
+  # tracked & untracked files
+  tmp=$(git ls-files && git ls-files --others --exclude-standard)
   mapfile -t ls_files <<<"$tmp"
   for f in "${ls_files[@]}"; do
-    skip=false
-    for e in "${excludes[@]}"; do
-      if [[ $f == $e ]]; then
-        skip=true
-        break
-      fi
-    done
-    if $skip; then continue; fi
-
-    if istext "$f" && [[ $(head -n1 "$f" 2>/dev/null) == '#!/bin/bash'* ]]; then
-      sk $f ||:
+    if sk-p "$f"; then
+      sk_files+=("$f")
     fi
   done
+  sk "${sk_files[@]}"
   if [[ $orig_dir ]]; then
     cd $orig_dir
   fi
@@ -3126,8 +3119,9 @@ n() {
 }
 
 catnew() {
-  local dir file
+  local dir file _
   dir="$1"
+  # shellcheck disable=SC2030
   inotifywait -m "$dir" -e create -e moved_to | while read -r _ _ file; do
     hr
     cat "$dir/$file"