o
    ‡ÎÖa{  ã                   @   s–   d Z ddlmZmZ ddlm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mZmZ dgZdd„ Zd	Zd
ZdZG dd„ deƒZdS )zò
    pygments.lexers.usd
    ~~~~~~~~~~~~~~~~~~~

    The module that parses Pixar's Universal Scene Description file format.

    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚbygroups)Úwords)ÚCOMMON_ATTRIBUTESÚKEYWORDSÚ	OPERATORSÚSPECIAL_NAMESÚTYPES)	ÚCommentÚKeywordÚNameÚNumberÚOperatorÚPunctuationÚStringÚTextÚ
WhitespaceÚUsdLexerc                 C   s   t | ddd�|fgS )Nz\b)ÚprefixÚsuffix)Úwords_)r   Útype_© r   ú5/usr/lib/python3/dist-packages/pygments/lexers/usd.pyÚ	_keywords   s   r   z(\w+(?:\[\])?)z%(\w+(?:\:\w+)*)(?:(\.)(timeSamples))?z([ \t]+)c                   @   s´  e Zd ZdZdZddgZddgZddjee	e
d	�eejeejeejeejeejjeeƒfd
jee	e
d	�eejeejeejeejjeeƒ	fdjee	e
d	�eejeejeejeejjeeƒ	fdjee	e
d	�eejeejeejjeeƒfgeeejƒ eeejƒ eeejƒ dejfg eeeƒ dd„ eD ƒ eeejƒ defdejfdefdefdefdefde fde fde fde fdej!fde j"fde j#fdej$fdefdefd efg iZ%d!S )"r   zi
    A lexer that parses Pixar's Universal Scene Description file format.

    .. versionadded:: 2.6
    ÚUSDÚusdÚusdaz*.usdz*.usdaÚrootz4(custom){_WHITESPACE}(uniform)(\s+){}(\s+){}(\s*)(=))Ú_WHITESPACEz&(custom){_WHITESPACE}{}(\s+){}(\s*)(=)z'(uniform){_WHITESPACE}{}(\s+){}(\s*)(=)z{}{_WHITESPACE}{}(\s*)(=)z\b\w+:[\w:]+\bc                 C   s   g | ]	}|d  t jf‘qS )z\[\])r   ÚType)Ú.0r   r   r   r   Ú
<listcomp>D   s    zUsdLexer.<listcomp>z
[(){}\[\]]z#.*?$ú,ú;ú=z$[-]*([0-9]*[.])?[0-9]+(?:e[+-]*\d+)?z'''(?:.|\n)*?'''z"""(?:.|\n)*?"""z'.*?'z".*?"z$<(\.\./)*([\w/]+|[\w/]+\.\w+[\w:]*)>z@.*?@z\(.*"[.\\n]*".*\)z\A#usda .+$z\s+z\w+z[_:.]+N)&Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚaliasesÚ	filenamesÚformatÚ_TYPEÚ_BASE_ATTRIBUTEr   r   r   ÚTokenr   r    r   Ú	Attributer   ÚTokensr   r   r   r   ÚBuiltinsr   r   r	   r   r
   ÚSingler   r   Ú	NamespaceÚInterpolÚDocÚHashbangÚtokensr   r   r   r   r      s�    ÿ
þþÿþþÿþþÿ
ÿþð
ë
ê
é
èçæ
åïäÿN)r)   Úpygments.lexerr   r   r   r   Úpygments.lexers._usd_builtinsr   r   r   r   r	   Úpygments.tokenr
   r   r   r   r   r   r   r   r   Ú__all__r   r.   r/   r   r   r   r   r   r   Ú<module>   s    
,