summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVidar Holen <vidar@vidarholen.net>2024-05-04 15:22:09 -0700
committerVidar Holen <vidar@vidarholen.net>2024-05-04 15:22:09 -0700
commitd705716dc45d58eef51231292758e2af9e3da30b (patch)
tree72f6b4691707baed4bc9d750cd431483ea315d45
parent76ff702e9385215a888ed21bf4330f614ab6c355 (diff)
Account for annotations in SC2215. Fixes #2975.
-rw-r--r--src/ShellCheck/Analytics.hs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/ShellCheck/Analytics.hs b/src/ShellCheck/Analytics.hs
index 175dea6..dcb4ce8 100644
--- a/src/ShellCheck/Analytics.hs
+++ b/src/ShellCheck/Analytics.hs
@@ -4000,6 +4000,7 @@ prop_checkUselessBang6 = verify checkUselessBang "set -e; { ! true; }"
prop_checkUselessBang7 = verifyNot checkUselessBang "set -e; x() { ! [ x ]; }"
prop_checkUselessBang8 = verifyNot checkUselessBang "set -e; if { ! true; }; then true; fi"
prop_checkUselessBang9 = verifyNot checkUselessBang "set -e; while ! true; do true; done"
+prop_checkUselessBang10 = verify checkUselessBang "set -e\nshellcheck disable=SC0000\n! true\nrest"
checkUselessBang params t = when (hasSetE params) $ mapM_ check (getNonReturningCommands t)
where
check t =
@@ -4008,6 +4009,7 @@ checkUselessBang params t = when (hasSetE params) $ mapM_ check (getNonReturning
addComment $ makeCommentWithFix InfoC id 2251
"This ! is not on a condition and skips errexit. Use `&& exit 1` instead, or make sure $? is checked."
(fixWith [replaceStart id params 1 "", replaceEnd (getId cmd) params 0 " && exit 1"])
+ T_Annotation _ _ t -> check t
_ -> return ()
-- Get all the subcommands that aren't likely to be the return value