summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Navarro <j@dannynavarro.net>2015-09-13 15:32:16 +0200
committerDanny Navarro <j@dannynavarro.net>2015-09-13 15:34:01 +0200
commit048ee552d82c1864697e07f55f5882cc46a1c9ed (patch)
tree4a414ad6d8b05ce1f925ac344047bc5e346f5f42
parent0e67fdc21cc686aa0cb27f87fc36d769310f1484 (diff)
downloadgraphql-048ee552d82c1864697e07f55f5882cc46a1c9ed.tar.gz
Take care of comments
-rw-r--r--Data/GraphQL/Parser.hs14
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