mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-08-08 01:28:34 +08:00
Add warning for trailing spaces after \ breaks.
This commit is contained in:
@@ -811,6 +811,9 @@ prop_readNormalWord3 = isOk readNormalWord "foo#"
|
|||||||
prop_readNormalWord4 = isOk readNormalWord "$\"foo\"$'foo\nbar'"
|
prop_readNormalWord4 = isOk readNormalWord "$\"foo\"$'foo\nbar'"
|
||||||
prop_readNormalWord5 = isWarning readNormalWord "${foo}}"
|
prop_readNormalWord5 = isWarning readNormalWord "${foo}}"
|
||||||
prop_readNormalWord6 = isOk readNormalWord "foo/{}"
|
prop_readNormalWord6 = isOk readNormalWord "foo/{}"
|
||||||
|
prop_readNormalWord7 = isOk readNormalWord "foo\\\nbar"
|
||||||
|
prop_readNormalWord8 = isWarning readSubshell "(foo\\ \nbar)"
|
||||||
|
prop_readNormalWord9 = isOk readSubshell "(foo\\ ;\nbar)"
|
||||||
readNormalWord = readNormalishWord ""
|
readNormalWord = readNormalishWord ""
|
||||||
|
|
||||||
readNormalishWord end = do
|
readNormalishWord end = do
|
||||||
@@ -1090,6 +1093,7 @@ readNormalEscaped = called "escaped char" $ do
|
|||||||
backslash
|
backslash
|
||||||
do
|
do
|
||||||
next <- quotable <|> oneOf "?*@!+[]{}.,~#"
|
next <- quotable <|> oneOf "?*@!+[]{}.,~#"
|
||||||
|
when (next == ' ') $ checkTrailingSpaces pos <|> return ()
|
||||||
return $ if next == '\n' then "" else [next]
|
return $ if next == '\n' then "" else [next]
|
||||||
<|>
|
<|>
|
||||||
do
|
do
|
||||||
@@ -1106,6 +1110,11 @@ readNormalEscaped = called "escaped char" $ do
|
|||||||
escapedChar 'r' = Just "carriage return"
|
escapedChar 'r' = Just "carriage return"
|
||||||
escapedChar _ = Nothing
|
escapedChar _ = Nothing
|
||||||
|
|
||||||
|
checkTrailingSpaces pos = lookAhead . try $ do
|
||||||
|
many linewhitespace
|
||||||
|
void linefeed <|> eof
|
||||||
|
parseProblemAt pos ErrorC 1101 "Delete trailing spaces after \\ to break line (or use quotes for literal space)."
|
||||||
|
|
||||||
|
|
||||||
prop_readExtglob1 = isOk readExtglob "!(*.mp3)"
|
prop_readExtglob1 = isOk readExtglob "!(*.mp3)"
|
||||||
prop_readExtglob2 = isOk readExtglob "!(*.mp3|*.wmv)"
|
prop_readExtglob2 = isOk readExtglob "!(*.mp3|*.wmv)"
|
||||||
|
Reference in New Issue
Block a user