From a7a19fa3669052f6e375278a3a041faaa3b03995 Mon Sep 17 00:00:00 2001 From: Vidar Holen Date: Fri, 16 Nov 2012 18:53:54 -0800 Subject: [PATCH] Support a+=foo --- ShellCheck/Parser.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ShellCheck/Parser.hs b/ShellCheck/Parser.hs index b5f6e48..90c2db4 100644 --- a/ShellCheck/Parser.hs +++ b/ShellCheck/Parser.hs @@ -1033,13 +1033,15 @@ prop_readAssignmentWord = isOk readAssignmentWord "a=42" prop_readAssignmentWord2 = isOk readAssignmentWord "b=(1 2 3)" prop_readAssignmentWord3 = isWarning readAssignmentWord "$b = 13" prop_readAssignmentWord4 = isWarning readAssignmentWord "b = $(lol)" +prop_readAssignmentWord5 = isOk readAssignmentWord "b+=lol" +prop_readAssignmentWord6 = isWarning readAssignmentWord "b += (1 2 3)" readAssignmentWord = try $ do id <- getNextId optional (char '$' >> parseNote ErrorC "Don't use $ on the left side of assignments") variable <- readVariableName space <- spacing pos <- getPosition - char '=' + op <- string "+=" <|> string "=" -- analysis doesn't treat += as a reference. fixme? space2 <- spacing value <- readArray <|> readNormalWord spacing