summaryrefslogtreecommitdiff
path: root/src/Language/GraphQL/AST/Lexer.hs
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2020-01-17 12:22:29 +0100
committerEugen Wissner <belka@caraus.de>2020-01-17 12:29:06 +0100
commit3ef27f9d112fcd035a8d351b6e246768355854ae (patch)
tree7def84ea1bd1a64696c1daf7c3590d5e49c76eb9 /src/Language/GraphQL/AST/Lexer.hs
parentba710a3c968f954d69d3412d91b06debb4fc5a6d (diff)
downloadgraphql-3ef27f9d112fcd035a8d351b6e246768355854ae.tar.gz
Add "extend symbol" lexer to parse extensions
Diffstat (limited to 'src/Language/GraphQL/AST/Lexer.hs')
-rw-r--r--src/Language/GraphQL/AST/Lexer.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Language/GraphQL/AST/Lexer.hs b/src/Language/GraphQL/AST/Lexer.hs
index c2ed35c..7303fdf 100644
--- a/src/Language/GraphQL/AST/Lexer.hs
+++ b/src/Language/GraphQL/AST/Lexer.hs
@@ -15,6 +15,7 @@ module Language.GraphQL.AST.Lexer
, dollar
, comment
, equals
+ , extend
, integer
, float
, lexeme
@@ -31,6 +32,7 @@ module Language.GraphQL.AST.Lexer
import Control.Applicative (Alternative(..), liftA2)
import Data.Char (chr, digitToInt, isAsciiLower, isAsciiUpper, ord)
import Data.Foldable (foldl')
+import Data.Functor (($>))
import Data.List (dropWhileEnd)
import Data.Proxy (Proxy(..))
import Data.Void (Void)
@@ -217,3 +219,7 @@ escapeSequence = do
-- | Parser for the "Byte Order Mark".
unicodeBOM :: Parser ()
unicodeBOM = optional (char '\xfeff') >> pure ()
+
+-- | Parses "extend" followed by a 'symbol'. It is used by schema extensions.
+extend :: Text -> Parser ()
+extend token = symbol "extend" $> extend token >> pure ()