local quotes others ret
quotes=2048,2068,2086,2206,2254
others=2029,2032,2033,2054,2164
- # Dont complain about sourced files if we aren't asking for them.
- if [[ $1 != -x ]]; then
- others+=,1091
- fi
- shellcheck -W 999 -e $quotes,$others "$@" || ret=$?
+ 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
}
-skx() {
- sk -x "$@"
-}
+
# sk with quotes. For checking scripts that we expect to take untrusted
# input in order to verify we quoted vars.
skq() {
# sk on all the files in current git repo (except those excluded)
skgit() {
local f toplevel orig_dir tmp skip pattern
- local -a ls_files excludes
+ local -a ls_files excludes sk_files
toplevel=$(git rev-parse --show-toplevel)
if [[ $PWD != "$toplevel" ]]; then
orig_dir=$PWD
fi
excludes=(
'disabled/*'
- # sourced from brc2
- beet-data
- # sourced from .bash_profile
- .bashrc
- )
- no_check_sourced=(
- .bash_profile
)
tmp=$(git ls-files | shuf)
mapfile -t ls_files <<<"$tmp"
fi
done
if $skip; then continue; fi
-
- check_source=-a
- for pattern in "${no_check_sourced[@]}"; do
- if [[ $f == "$pattern" ]]; then
- check_source=
- break
- fi
- done
if sk-p "$f"; then
- printf "================= %s\n" "$f"
- sk $check_source --color=always $f || [[ $? == 1 ]]
+ sk_files+=("$f")
fi
done
+ sk "${sk_files[@]}"
if [[ $orig_dir ]]; then
cd $orig_dir
fi