U
    YSh                     @   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-2025 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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!d0fdedfdedfg	ed
d"ed1fged
defdedfd(edfged
d%efd2ed&fdejfd/ej!d0fded$fged
d/ej!d0fdedfged
dejfd/ej!d0fded$fgd3Z"d4S )5r   z"
    Lexer for GraphQL syntax
    GraphQLgraphqlz	*.graphqlzhttps://graphql.orgz2.16z\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urlversion_addedr   r   r   r   r
   Integerr   r   r   BOOLEAN_VALUESr	   BuiltinVariableConstantr   EscapeOPERATION_TYPESr   KEYWORDSFunctionBUILTIN_TYPESClassr   Label	Decoratortokens rH   rH   J/root/rtd-docs/venv/lib/python3.8/site-packages/pygments/lexers/graphql.pyr   9   s   


	



	

N)r4   Zpygments.lexerr   r   r   r   r   Zpygments.tokenr   r   r	   r
   r   r   r   __all__r@   rC   r;   rA   r   rH   rH   rH   rI   <module>   s   $ 