U
    luf                     @   sn   d Z ddlmZmZmZmZmZ ddlmZm	Z	m
Z
mZmZmZmZ dgZdZdZdZdZG d	d deZd
S )a7  
    pygments.lexers.graphql
    ~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for GraphQL, an open-source data query and manipulation
    language for APIs.

    More information:
    https://graphql.org/

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerwordsincludebygroupsdefault)CommentKeywordNameNumberPunctuationString
WhitespaceGraphQLLexer)queryZmutationZsubscription)ZIntFloatr   BooleanZID)truefalsenull)typeZschemaextendenumZscalarZ
implementsZ	interfaceunioninput	directiveZQUERYZMUTATIONZSUBSCRIPTIONZFIELDZFRAGMENT_DEFINITIONZFRAGMENT_SPREADZINLINE_FRAGMENTZSCHEMAZSCALARZOBJECTZFIELD_DEFINITIONZARGUMENT_DEFINITIONZ	INTERFACEZUNIONZENUMZ
ENUM_VALUEZINPUT_OBJECTZINPUT_FIELD_DEFINITIONc                   @   s  e Zd ZdZdZdgZdgZdZdefde	fde
fged	d
ejdfdejdfdedfeeddejdfdejdfdejdfde
dfde
dfg	ed	de
dfedged	defde
dfde
dfgdejfdefdedfged	eeddedfeeddefde
dfded fged	dejfd!e
d"fde
d#fged	dejfd$e
fde
d%fd&e
dfd'e
dfged	de
feeddejdfdejdfged	d(eejee
fdefd)ee
eed*fd+e
d,fd!e
d-fd.ej d/fde
dfde
dfg	ed	d!e
d0fged	defde
dfd'e
dfged	d$e
fd1ed%fdejfd.ej d/fde
d#fged	d.ej d/fdedfged	dejfd.ej d/fde
d#fgd2Z!d3S )4r   z>
    Lexer for GraphQL syntax

    .. versionadded:: 2.16
    ZGraphQLZgraphqlz	*.graphqlzhttps://graphql.orgz\s+z#.*$,ignored_tokensz-?\d+(?![.eE])#popz-?\d+(\.\d+)?([eE][+-]?\d+)?")r   stringz\b)suffixz\$[a-zA-Z_]\w*z[a-zA-Z_]\w*z\[)r   
list_valuez\{)r   object_value]value:z\}z\\(["\\/bfnrt]|u[a-fA-F0-9]{4})z	[^\\"\n]+	operationselection_setz
fragment\bfragment_definitionz\(variable_definition)r   r'   z[\]!]r   =z\)z([a-zA-Z_]\w*)(\s*)(:)z(\.\.\.)(\s+)(on)\binline_fragmentz\.\.\.fragment_spread	argumentsz@[a-zA-Z_]\w*r   )r   r-   zon\b)r   r$   r!   r"   r   rootr&   r)   r   r'   r   r-   r(   r,   r+   N)"__name__
__module____qualname____doc__namealiases	filenamesurlr   r   r   r   r
   ZIntegerr   r   r   BOOLEAN_VALUESr	   ZBuiltinVariableConstantr   ZEscapeOPERATION_TYPESr   KEYWORDSZFunctionBUILTIN_TYPESZClassr   ZLabelZ	Decoratortokens r>   r>   ;/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/graphql.pyr   9   s   


	



	

N)r2   Zpygments.lexerr   r   r   r   r   Zpygments.tokenr   r   r	   r
   r   r   r   __all__r:   r<   r7   r;   r   r>   r>   r>   r?   <module>   s   $ 