
    |e                          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 g dZ G d de      Z G d d	e      Z G d
 de      Zy)a  
    pygments.lexers.typoscript
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for TypoScript

    `TypoScriptLexer`
        A TypoScript lexer.

    `TypoScriptCssDataLexer`
        Lexer that highlights markers, constants and registers within css.

    `TypoScriptHtmlDataLexer`
        Lexer that highlights markers, constants and registers within html tags.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerincludebygroupsusing)TextCommentNameStringNumberOperatorPunctuation)TypoScriptLexerTypoScriptCssDataLexerTypoScriptHtmlDataLexerc                   B   e Zd ZdZdZdgZdd eeej                  e      fd eej                  eej                  ej                  ej                        fd eeej                  ej                  eej                  ej                  e      fdefd	efd
efdefdefgiZy)r   zn
    Lexer that highlights markers, constants and registers within css blocks.

    .. versionadded:: 2.2
    TypoScriptCssDatatyposcriptcssdataroot(.*)(###\w+###)(.*)%(\{)(\$)((?:[\w\-]+\.)*)([\w\-]+)(\})+(.*)(\{)([\w\-]+)(\s*:\s*)([\w\-]+)(\})(.*)\s+/\*(?:(?!\*/).)*\*/G(?<!(#|\'|"))(?:#(?!(?:[a-fA-F0-9]{6}|[a-fA-F0-9]{3}))[^\n#]+|//[^\n]*)[<>,:=.*%+|]z[\w"\-!/&;(){}]+N)__name__
__module____qualname____doc__namealiasesr   r
   r	   ConstantSymbolr   r   r   tokens     </usr/lib/python3/dist-packages/pygments/lexers/typoscript.pyr   r      s     D"#G 	#XfdmmV%LM5fmmXt}}mmV]]45 <ffmmT]]HmmV]]F<= TN#W-W f% &)'
Fr&   r   c                   V   e Zd ZdZdZdgZddej                  fdefd e	eej                  e      fd e	ej                  eej                  ej                  ej                        fd	 e	eej                  ej                  eej                  ej                  e      fd
efdefdefgiZy)r   zm
    Lexer that highlights markers, constants and registers within html tags.

    .. versionadded:: 2.2
    TypoScriptHtmlDatatyposcripthtmldatar   z(INCLUDE_TYPOSCRIPT)(EXT|FILE|LLL):[^}\n"]*r   r   r   r   r   z[\w"\-!/&;(){}#]+N)r   r   r   r   r    r!   r	   Classr
   r   r"   r#   r   r   r$   r%   r&   r'   r   r   @   s      D#$G 	$djj1'0#XfdmmV%LM5fmmXt}}mmV]]45 <ffmmT]]HmmV]]F<= TNf%!6*'
Fr&   r   c                   *   e Zd ZdZdZdZdgZdgZdgZe	j                  e	j                  z  Z ed       ed       ed	       ed
       ed       ed       ed       ed       ed       ed       ed      gd eej                   ej$                  eej                         fdej(                  fd ee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efgd ee      fdefd eej.                  eej                    ee            fgdej8                  fdej:                  fd ej$                  fgd!efd" eee      fgd#efgd$efgd%ej                   fgd& eej                   eej$                  ej$                  ej                         fd' eej                   ej$                  eej$                  ej                         fd(ej>                  fgd)e fd*e fd+e fgd,efgd-Z!y.)/r   z?
    Lexer for TypoScript code.

    .. versionadded:: 2.2
    
TypoScriptz3http://docs.typo3.org/typo3cms/TyposcriptReference/
typoscriptz*.typoscriptztext/x-typoscriptcommentconstanthtmllabel
whitespacekeywordspunctuationoperator	structureliteralothera  (?i)(\[)(browser|compatVersion|dayofmonth|dayofweek|dayofyear|device|ELSE|END|GLOBAL|globalString|globalVar|hostname|hour|IP|language|loginUser|loginuser|minute|month|page|PIDinRootline|PIDupinRootline|system|treeLevel|useragent|userFunc|usergroup|version)([^\]]*)(\])z(?=[\w\-])(HTMLparser|HTMLparser_tags|addParams|cache|encapsLines|filelink|if|imageLinkWrap|imgResource|makelinks|numRows|numberFormat|parseFunc|replacement|round|select|split|stdWrap|strPad|tableStyle|tags|textStyle|typolink)(?![\w\-])a  (?:(=?\s*<?\s+|^\s*))(cObj|field|config|content|constants|FEData|file|frameset|includeLibs|lib|page|plugin|register|resources|sitemap|sitetitle|styles|temp|tt_[^:.\s]*|types|xmlnews|INCLUDE_TYPOSCRIPT|_CSS_DEFAULT_STYLE|_DEFAULT_PI_VARS|_LOCAL_LANG)(?![\w\-])a*  (?=[\w\-])(CASE|CLEARGIF|COA|COA_INT|COBJ_ARRAY|COLUMNS|CONTENT|CTABLE|EDITPANEL|FILE|FILES|FLUIDTEMPLATE|FORM|HMENU|HRULER|HTML|IMAGE|IMGTEXT|IMG_RESOURCE|LOAD_REGISTER|MEDIA|MULTIMEDIA|OTABLE|PAGE|QTOBJECT|RECORDS|RESTORE_REGISTER|SEARCHRESULT|SVG|SWFOBJECT|TEMPLATE|TEXT|USER|USER_INT)(?![\w\-])z(?=[\w\-])(ACTIFSUBRO|ACTIFSUB|ACTRO|ACT|CURIFSUBRO|CURIFSUB|CURRO|CUR|IFSUBRO|IFSUB|NO|SPC|USERDEF1RO|USERDEF1|USERDEF2RO|USERDEF2|USRRO|USR)zo(?=[\w\-])(GMENU_FOLDOUT|GMENU_LAYERS|GMENU|IMGMENUITEM|IMGMENU|JSMENUITEM|JSMENU|TMENUITEM|TMENU_LAYERS|TMENU)z"(?=[\w\-])(PHP_SCRIPT(_EXT|_INT)?)z(?=[\w\-])(userFunc)(?![\w\-])r   z<\S[^\n>]*>z	&[^;\n]*;z-(?s)(_CSS_DEFAULT_STYLE)(\s*)(\()(.*(?=\n\)))z0x[0-9A-Fa-f]+t?z[0-9]+z(###\w+###)r+   z*(?![^\w\-])([\w\-]+(?:/[\w\-]+)+/?)(\S*\n)z[,.]r   z[{}()\[\]\\]r   z#(\{)([\w\-]+)(\s*:\s*)([\w\-]+)(\})z%(#[a-fA-F0-9]{6}\b|#[a-fA-F0-9]{3}\b)r   r   z(\s*#\s*\n)z[\w"\-!/&;]+)r   r5   r4   r2   r9   r3   r6   r7   r8   r1   r0   r:   N)"r   r   r   r   r    urlr!   	filenames	mimetypesreDOTALL	MULTILINEflagsr   r   r
   r#   r	   r"   r   Functionr   Builtinr,   r   r   r   r   HexIntegerr   Charr   r$   r%   r&   r'   r   r   c   s    D
?CnG I$%III$E IJFOGL!JM"JK IG
%
 fmmT]]D&--HJ3 59MMC
K h-	/7 9=

	D JJ(@AEM 3DJJ?.>E#
J TN
 U#:;<6"=djj$u=S7TUW
 !&**-'T]]+	
 (0:ff%'	
 k"
 h'

 fmm,
 6$--78 4x78 6v{{C
 X#W-W%	
 d#
IgFr&   r   )r   r>   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   __all__r   r   r   r%   r&   r'   <module>rJ      sT   & 
 ? ?   S Z  F j  Fvj vr&   