From 3ef27f9d112fcd035a8d351b6e246768355854ae Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Fri, 17 Jan 2020 12:22:29 +0100 Subject: Add "extend symbol" lexer to parse extensions --- src/Language/GraphQL/AST/Lexer.hs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/Language/GraphQL/AST/Lexer.hs') 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 () -- cgit v1.2.3