mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-08-08 12:37:14 +08:00
Allow escape sequences in here documents.
This commit is contained in:
@@ -1155,6 +1155,7 @@ prop_readHereDoc3 = isOk readHereDoc "<< foo\n$\"\nfoo"
|
|||||||
prop_readHereDoc4 = isOk readHereDoc "<< foo\n`\nfoo"
|
prop_readHereDoc4 = isOk readHereDoc "<< foo\n`\nfoo"
|
||||||
prop_readHereDoc5 = isOk readHereDoc "<<- !foo\nbar\n!foo"
|
prop_readHereDoc5 = isOk readHereDoc "<<- !foo\nbar\n!foo"
|
||||||
prop_readHereDoc6 = isOk readHereDoc "<< foo\\ bar\ncow\nfoo bar"
|
prop_readHereDoc6 = isOk readHereDoc "<< foo\\ bar\ncow\nfoo bar"
|
||||||
|
prop_readHereDoc7 = isOk readHereDoc "<< foo\n\\$(f ())\nfoo"
|
||||||
readHereDoc = called "here document" $ do
|
readHereDoc = called "here document" $ do
|
||||||
fid <- getNextId
|
fid <- getNextId
|
||||||
pos <- getPosition
|
pos <- getPosition
|
||||||
@@ -1210,11 +1211,11 @@ readHereDoc = called "here document" $ do
|
|||||||
parseHereData Unquoted startPos hereData =
|
parseHereData Unquoted startPos hereData =
|
||||||
subParse startPos readHereData hereData
|
subParse startPos readHereData hereData
|
||||||
|
|
||||||
readHereData = many $ try readNormalDollar <|> try readBackTicked <|> readHereLiteral
|
readHereData = many $ try doubleQuotedPart <|> readHereLiteral
|
||||||
|
|
||||||
readHereLiteral = do
|
readHereLiteral = do
|
||||||
id <- getNextId
|
id <- getNextId
|
||||||
chars <- many1 $ noneOf "`$"
|
chars <- many1 $ noneOf "`$\\"
|
||||||
return $ T_Literal id chars
|
return $ T_Literal id chars
|
||||||
|
|
||||||
verifyHereDoc dashed quoted spacing hereInfo = do
|
verifyHereDoc dashed quoted spacing hereInfo = do
|
||||||
|
Reference in New Issue
Block a user