diff options
| author | Danny Navarro <j@dannynavarro.net> | 2015-09-13 15:32:16 +0200 |
|---|---|---|
| committer | Danny Navarro <j@dannynavarro.net> | 2015-09-13 15:34:01 +0200 |
| commit | 048ee552d82c1864697e07f55f5882cc46a1c9ed (patch) | |
| tree | 4a414ad6d8b05ce1f925ac344047bc5e346f5f42 | |
| parent | 0e67fdc21cc686aa0cb27f87fc36d769310f1484 (diff) | |
| download | graphql-048ee552d82c1864697e07f55f5882cc46a1c9ed.tar.gz | |
Take care of comments
| -rw-r--r-- | Data/GraphQL/Parser.hs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Data/GraphQL/Parser.hs b/Data/GraphQL/Parser.hs index db6091b..013dd9b 100644 --- a/Data/GraphQL/Parser.hs +++ b/Data/GraphQL/Parser.hs @@ -5,18 +5,20 @@ import Prelude hiding (takeWhile) import Control.Applicative (Alternative, (<|>), empty, many) import Data.Char -import Data.Attoparsec.Text.Lazy +import Data.Attoparsec.Text ( Parser , (<?>) , anyChar , decimal , double + , endOfLine , isEndOfLine , many1 , manyTill , satisfy , sepBy , sepBy1 + , skipMany , skipSpace , skipWhile , signed @@ -289,10 +291,16 @@ space' :: Parser Char space' = satisfy isSpace' s :: Parser () -s = skipWhile isSpace' +s = comments <|> skipWhile isSpace' s1 :: Parser () -s1 = space' *> s +s1 = comments <|> space' *> s isSpace' :: Char -> Bool isSpace' c = isSpace c || ',' == c || isEndOfLine c + +comments :: Parser () +comments = skipMany comment + +comment :: Parser () +comment = () <$ "#" <* manyTill anyChar endOfLine |
