
                         t    d Z ddlZddlmZ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mZ dgZ G d de      Zy)z
    pygments.lexers.graph
    ~~~~~~~~~~~~~~~~~~~~~

    Lexers for graph query languages.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerincludebygroupsusingthiswords)KeywordPunctuationCommentOperatorNameStringNumber
WhitespaceCypherLexerc                      e Zd ZdZdZdZdgZddgZej                  ej                  z  Z ed       ed       ed	       ed
       ed       ed       ed      gdej                  fgdefgd eeee      fd eeeeee      fd eeee      fd eeeeee      fd eeee      fd eeeeee      fd eeee      fd eeee      fd eeee      fd eeee      fd eeee      fd eeeeee      f edd      efgd ee ee      e      fd  ee ee      e      fd! ee ee      e      fd"efd#efd$efgd%efd&ej2                  fgd'efgd(efd)efgd*Zy+),r   zg
    For Cypher Query Language

    For the Cypher version in Neo4j 3.3

    .. versionadded:: 2.0
    Cypherz3https://neo4j.com/docs/developer-manual/3.3/cypher/cypherz*.cypz*.cyphercommentclauseskeywords	relationsstrings
whitespace	barewordsz^.*//.*$z^(create|order|match|limit|set|skip|start|return|with|where|delete|foreach|not|by|true|false)\bz(create)(\s+)(index|unique)\bz'(drop)(\s+)(contraint|index)(\s+)(on)\bz(ends)(\s+)(with)\bz(is)(\s+)(node)(\s+)(key)\bz(is)(\s+)(null|unique)\bz(load)(\s+)(csv)(\s+)(from)\bz(on)(\s+)(match|create)\bz(optional)(\s+)(match)\bz(order)(\s+)(by)\bz(starts)(\s+)(with)\bz(union)(\s+)(all)\bz%(using)(\s+)(periodic)(\s+)(commit)\b)$allanyasasc	ascendingassertcallcasecreatedeletedesc
descendingdistinctendfieldterminatorforeachinlimitmatchmergenonenotnullremovereturnsetskipsinglestartthenunionunwindyieldwherewhenwithz\b)suffixz(-\[)(.*?)(\]->)z(<-\[)(.*?)(\]-)z(-\[)(.*?)(\]-)z-->|<--|\[|\]z<|>|<>|=|<=|=>|\(|\)|\||:|,|;z[.*{}]z"(?:\\[tbnrf\'"\\]|[^\\"])*"z`(?:``|[^`])+`z\s+z[a-z]\w*z\d+)rootr   r   r   r   r   r   r   N)__name__
__module____qualname____doc__nameurlaliases	filenamesre	MULTILINE
IGNORECASEflagsr   r   Singler	   r   r   r   r   r   r   r
   r   r   Variabler   tokens     (lib/third_party/pygments/lexers/graph.pyr   r      sp    D
?CjG*%ILL2==(E IIJK IL!K 
 '..)
45<>
 .*g687*gz7KM#*g68+*gz7KM(*g68-*gz7KM)*g68(*g68"*g68%*g68#*g685*gz7KM <
 EJK
 MTU5 
D !(8U4[("KL (8U4[("KL(E$K!JKx(-{;$
 -f5.

 Z 
 $V
CEFrR   )rE   rJ   pygments.lexerr   r   r   r   r   r   pygments.tokenr	   r
   r   r   r   r   r   r   __all__r   rQ   rR   rS   <module>rW      s;    
 L L   /T* TrR   