o
    ‡ÎÖam  ã                   @   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-2021 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                   @   s>  e 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   zh
    For `SuperCollider <http://supercollider.github.io/>`_ source code.

    .. versionadded:: 2.1
    ÚSuperColliderÚsupercolliderÚ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ÚwhileÚdoÚbreakÚreturnÚcontinueÚswitchÚcaser   ÚifÚelseÚthrowÚtryÚcatchÚfinallyÚnewÚdeleteÚtypeofÚ
instanceofÚvoidz\b)Úsuffix)ÚvarÚletÚwithÚfunctionÚarg)z	(abstractÚbooleanÚbyteÚcharÚclassÚconstÚdebuggerÚdoubleÚenumÚexportÚextendsÚfinalÚfloatÚgotoÚ
implementsÚimportÚintÚ	interfaceÚlongÚnativeÚpackageÚprivateÚ	protectedÚpublicÚshortÚstaticÚsuperÚsynchronizedÚthrowsÚ	transientÚvolatile)ÚtrueÚfalseÚnilÚinf)ÚArrayÚBooleanÚDateÚErrorÚFunctionr   ÚObjectÚPackagesÚRegExpr   ÚisFiniteÚisNaNÚ
parseFloatÚparseIntrI   ÚthisFunctionDefÚthisFunctionÚ
thisMethodÚthisProcessÚ
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| v sd| v r
dS dS )z@We're searching for a common function and a unique keyword here.ÚSinOscr^   gš™™™™™¹?N© )Útextrf   rf   ú?/usr/lib/python3/dist-packages/pygments/lexers/supercollider.pyÚanalyse_text[   s   ÿzSuperColliderLexer.analyse_textN)&Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚreÚDOTALLÚ	MULTILINEÚflagsr   r   ÚSingleÚ	Multiliner   r   ÚRegexr   r   r   r   r	   ÚDeclarationÚReservedÚConstantr
   ÚBuiltinÚOtherÚSymbolr   ÚFloatÚHexÚIntegerÚDoubleÚtokensri   rf   rf   rf   rh   r      sr    üÿûÿÿüû
ÿúùûúÛï:)rm   rr   Úpygments.lexerr   r   r   r   Úpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   rf   rf   rf   rh   Ú<module>   s    
(