diff --git a/src/ShellCheck/Analytics.hs b/src/ShellCheck/Analytics.hs index 652c2fb..188d683 100644 --- a/src/ShellCheck/Analytics.hs +++ b/src/ShellCheck/Analytics.hs @@ -2049,6 +2049,8 @@ prop_checkSpacefulness43= verifyNotTree checkSpacefulness "$foo=42" prop_checkSpacefulness44= verifyTree checkSpacefulness "#!/bin/sh\nexport var=$value" prop_checkSpacefulness45= verifyNotTree checkSpacefulness "wait -zzx -p foo; echo $foo" prop_checkSpacefulness46= verifyNotTree checkSpacefulness "x=0; (( x += 1 )); echo $x" +prop_checkSpacefulness47= verifyNotTree checkSpacefulness "x=0; (( x-- )); echo $x" +prop_checkSpacefulness48= verifyNotTree checkSpacefulness "x=0; (( ++x )); echo $x" data SpaceStatus = SpaceSome | SpaceNone | SpaceEmpty deriving (Eq) instance Semigroup SpaceStatus where @@ -2139,7 +2141,6 @@ checkSpacefulness' onFind params t = where emit x = tell [x] - writeF _ (TA_Assignment {}) name _ = setSpaces name SpaceNone >> return [] writeF _ _ name (DataString SourceExternal) = setSpaces name SpaceSome >> return [] writeF _ _ name (DataString SourceInteger) = setSpaces name SpaceNone >> return [] diff --git a/src/ShellCheck/AnalyzerLib.hs b/src/ShellCheck/AnalyzerLib.hs index 687859f..9b53f9f 100644 --- a/src/ShellCheck/AnalyzerLib.hs +++ b/src/ShellCheck/AnalyzerLib.hs @@ -511,13 +511,11 @@ getModifiedVariables t = T_SimpleCommand {} -> getModifiedVariableCommand t - TA_Unary _ "++|" v@(TA_Variable _ name _) -> - [(t, v, name, DataString $ SourceFrom [v])] - TA_Unary _ "|++" v@(TA_Variable _ name _) -> - [(t, v, name, DataString $ SourceFrom [v])] + TA_Unary _ op v@(TA_Variable _ name _) | "--" `isInfixOf` op || "++" `isInfixOf` op -> + [(t, v, name, DataString SourceInteger)] TA_Assignment _ op (TA_Variable _ name _) rhs -> do guard $ op `elem` ["=", "*=", "/=", "%=", "+=", "-=", "<<=", ">>=", "&=", "^=", "|="] - return (t, t, name, DataString $ SourceFrom [rhs]) + return (t, t, name, DataString SourceInteger) T_BatsTest {} -> [ (t, t, "lines", DataArray SourceExternal),