diff --git a/src/ShellCheck/AST.hs b/src/ShellCheck/AST.hs index d8faec6..6b13282 100644 --- a/src/ShellCheck/AST.hs +++ b/src/ShellCheck/AST.hs @@ -249,7 +249,11 @@ analyze f g i = list <- mapM round group return $ T_ForArithmetic id x y z list - delve (T_Script id s l) = dl l $ T_Script id s + delve (T_Script id shebang list) = do + newShebang <- round shebang + newList <- roundAll list + return $ T_Script id newShebang newList + delve (T_Function id a b name body) = d1 body $ T_Function id a b name delve (T_Condition id typ token) = d1 token $ T_Condition id typ delve (T_Extglob id str l) = dl l $ T_Extglob id str diff --git a/src/ShellCheck/Checker.hs b/src/ShellCheck/Checker.hs index 60280ec..120f7d8 100644 --- a/src/ShellCheck/Checker.hs +++ b/src/ShellCheck/Checker.hs @@ -288,6 +288,13 @@ prop_deducesTypeFromExtension2 = result == [2079] csScript = "(( 3.14 ))" } +prop_canDisableShebangWarning = null $ result + where + result = checkWithSpec [] emptyCheckSpec { + csFilename = "file.sh", + csScript = "#shellcheck disable=SC2148\nfoo" + } + prop_shExtensionDoesntMatter = result == [2148] where result = checkWithSpec [] emptyCheckSpec {