Check for if[ foo ]

This commit is contained in:
Vidar Holen 2012-11-26 22:49:23 -08:00
parent 34690ad3db
commit ef332217a1
1 changed files with 4 additions and 1 deletions

View File

@ -1123,6 +1123,9 @@ tryWordToken s t = tryParseWordToken (string s) t `thenSkip` spacing
tryParseWordToken parser t = try $ do tryParseWordToken parser t = try $ do
id <- getNextId id <- getNextId
parser parser
optional (do
try . lookAhead $ char '['
parseProblem ErrorC "You need a space before the [.")
try $ lookAhead (keywordSeparator) try $ lookAhead (keywordSeparator)
return $ t id return $ t id
@ -1162,7 +1165,7 @@ g_Semi = do
notFollowedBy g_DSEMI notFollowedBy g_DSEMI
tryToken ";" T_Semi tryToken ";" T_Semi
keywordSeparator = eof <|> disregard whitespace <|> (disregard $ oneOf ";()") keywordSeparator = eof <|> disregard whitespace <|> (disregard $ oneOf ";()[")
readKeyword = choice [ g_Then, g_Else, g_Elif, g_Fi, g_Do, g_Done, g_Esac, g_Rbrace, g_Rparen, g_DSEMI ] readKeyword = choice [ g_Then, g_Else, g_Elif, g_Fi, g_Do, g_Done, g_Esac, g_Rbrace, g_Rparen, g_DSEMI ]