U
    lufr                     @   sf   d Z ddlZddl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 deZdS )z
    pygments.lexers.supercollider
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for SuperCollider

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerincludewordsdefault)TextCommentOperatorKeywordNameStringNumberPunctuationSuperColliderLexerc                   @   sB  e Zd ZdZdZdZddgZddgZdd	gZe	j
e	jB Zd
efdefdejfdejfgeddejdfdedfedgdedfgdedfeddedfdedfdefedddedfedddejdfedddejfedddejfedddejfd ejfd!ejfd"e j!fd#e j"fd$e j#fd%ej$fd&ejfgd'Z%d(d) Z&d*S )+r   zC
    For SuperCollider source code.

    .. versionadded:: 2.1
    ZSuperColliderzhttp://supercollider.github.io/ZsupercolliderZscz*.scz*.scdzapplication/supercolliderztext/supercolliderz\s+z<!--z//.*?\nz	/\*.*?\*/commentsandwhitespacez3/(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B)#popz(?=/))r   badregexz\nz^(?=\s|/|<!--)slashstartsregexz@\+\+|--|~|&&|\?|:|\|\||\\(?=\n)|(<<|>>>?|==?|!=?|[-<>+*%&|^/])=?z[{(\[;,]z[})\].])forinwhileZdobreakreturncontinueswitchZcaser   ifelsethrowtryZcatchfinallynewdeleteZtypeofZ
instanceofvoidz\b)suffix)varZletwithfunctionarg)z	(abstractbooleanbytecharclassconstZdebuggerdoubleenumexportZextendsfinalfloatgotoZ
implementsimportintZ	interfacelongZnativepackageprivateZ	protectedpublicshortZstaticsuperZsynchronizedZthrowsZ	transientZvolatile)truefalsenilinf)ArrayBooleanDateErrorZFunctionr   ZObjectZPackagesZRegExpr   ZisFiniteZisNaNZ
parseFloatZparseIntr9   thisFunctionDefZthisFunctionZ
thisMethodZthisProcessZ
thisThreadthisz[$a-zA-Z_]\w*z\\?[$a-zA-Z_]\w*z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+z[0-9]+z"(\\\\|\\[^\\]|[^"\\])*"z'(\\\\|\\[^\\]|[^'\\])*')r   r   r   rootc                 C   s   d| ksd| krdS dS )z@We're searching for a common function and a unique keyword here.ZSinOscrB   g?N )textrE   rE   A/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/supercollider.pyanalyse_text\   s    zSuperColliderLexer.analyse_textN)'__name__
__module____qualname____doc__nameurlaliases	filenames	mimetypesreDOTALL	MULTILINEflagsr   r   SingleZ	Multiliner   r   Regexr   r   r   r   r	   ZDeclarationZReservedConstantr
   ZBuiltinZOtherZSymbolr   ZFloatZHexZIntegerDoubletokensrH   rE   rE   rE   rG   r      sz      
 :)rL   rR   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   r   __all__r   rE   rE   rE   rG   <module>   s
   
(