o
    3Ih                      @   s   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 deZG dd	 d	eZG d
d deZdS )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-2025 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                   @   s   e Zd ZdZdZdgZdZd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dS )r   zS
    Lexer that highlights markers, constants and registers within css blocks.
    TypoScriptCssDatatyposcriptcssdata3http://docs.typo3.org/typo3cms/TyposcriptReference/2.2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aliasesurlversion_addedr   r	   r   ConstantSymbolr   r   r   tokens r'   r'   Z/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/pygments/lexers/typoscript.pyr      s6    
r   c                   @   s   e Zd ZdZdZdgZdZd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dS )r   zR
    Lexer that highlights markers, constants and registers within html tags.
    TypoScriptHtmlDatatyposcripthtmldatar   r   r   z(INCLUDE_TYPOSCRIPT)(EXT|FILE|LLL):[^}\n"]*r   r   r   r   r   z[\w"\-!/&;(){}#]+N)r   r   r   r   r    r!   r"   r#   r   Classr	   r   r$   r%   r   r   r&   r'   r'   r'   r(   r   @   s2    
r   c                   @   s  e Zd ZdZdZdZdgZdgZdgZdZ	e
je
jB 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j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"d/S )0r   z$
    Lexer for TypoScript code.
    
TypoScriptr   
typoscriptz*.typoscriptztext/x-typoscriptr   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   r4   r3   r1   r8   r2   r5   r6   r7   r0   r/   r9   N)#r   r   r   r   r    r"   r!   	filenames	mimetypesr#   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    
%

r   )r   r<   pygments.lexerr   r   r   r   pygments.tokenr   r   r   r	   r
   r   r   __all__r   r   r   r'   r'   r'   r(   <module>   s    $##