extensions 0.0.0.0 → 0.0.0.1
raw patch · 4 files changed
+12/−5 lines, 4 filesnew-uploaderPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−0
- extensions.cabal +1/−1
- src/Extensions/Module.hs +4/−4
- test/Test/Extensions/Module.hs +3/−0
CHANGELOG.md view
@@ -3,6 +3,10 @@ `extensions` uses [PVP Versioning][1]. The changelog is available [on GitHub][2]. +## 0.0.0.1 — May 9, 2020 🎖️++* Handle one more parsing case.+ ## 0.0.0.0 — May the 4th, 2020 💪 * Initially created.
extensions.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: extensions-version: 0.0.0.0+version: 0.0.0.1 synopsis: Parse Haskell Language Extensions description: Parse Haskell Language Extensions. See [README.md](https://github.com/kowainik/extensions#extensions) for more details.
src/Extensions/Module.hs view
@@ -122,10 +122,10 @@ singleExtensionsP :: Parser [ParsedExtension] singleExtensionsP = languagePragmaP (commaSep (nonExtP *> extensionP <* nonExtP) <* spaces)- where- nonExtP :: Parser ()- nonExtP = () <$ many (try cppP <|> try commentP) +nonExtP :: Parser ()+nonExtP = () <$ many (try cppP <|> try commentP)+ {- | Parses all known and unknown 'OnOffExtension's or 'SafeHaskellExtension's. -} extensionP :: Parser ParsedExtension@@ -161,7 +161,7 @@ pragmaP :: Parser () -> Parser a -> Parser a pragmaP pragmaNameP p = between (string "{-#") (string "#-}" <* newLines)- (newLines *> pragmaNameP *> newLines *> p <* newLines)+ (newLines *> nonExtP *> pragmaNameP *> newLines *> p <* newLines) -- | Comma separated parser. Newlines and spaces are allowed around comma. commaSep :: Parser a -> Parser [a]
test/Test/Extensions/Module.hs view
@@ -173,6 +173,9 @@ itShouldParse "{-# LANGUAGE {- WHAT IS -} LambdaCase {- THIS SYNTAX? o_O -} #-}" [LambdaCase]+ itShouldParse+ "{- Haskelll -} {-# {- extension -} LANGUAGE {- called -} LambdaCase {- and nothing else -} #-} {- matters -}"+ [LambdaCase] itShouldParse (unlines [ "{-# LANGUAGE TypeApplications , LambdaCase #-}" , "{- hello -}"