U
    luf                     @   sj   d Z ddlZddlmZmZ ddlmZmZmZm	Z	m
Z
mZ dgZdddZdd	d
ZG dd deZdS )z
    pygments.lexers.wowtoc
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexer for World of Warcraft TOC files

    TOC files describe game addons.

    :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerbygroups)CommentNameTextPunctuationStringKeywordWoWTocLexerFc                 C   s   |rdndd |  d S )Nz(?i) z	^(##)( *)z( *)(:)( *)(.*?)( *)$ )inner_patternignore_caser   r   :/tmp/pip-unpacked-wheel-7eq1ciah/pygments/lexers/wowtoc.py_create_tag_line_pattern   s    
r   c              
   C   s,   t | |dttjtj|tjttjttjfS )Nr   )r   r   r	   ZDeclarationr   
Whitespacer   r   )r   Zinner_tokenr   r   r   r   _create_tag_line_token   s    
r   c                   @   sl   e Zd ZdZdZdgZdgZdedej	edej	dd	ed
ej
dd	edejdefdefgiZdd ZdS )r
   zL
    Lexer for World of Warcraft TOC files.

    .. versionadded:: 2.14
    zWorld of Warcraft TOCZwowtocz*.tocrootz~((?:[nN][oO][tT][eE][sS]|[tT][iI][tT][lL][eE])-(?:ptBR|zhCN|enCN|frFR|deDE|itIT|esMX|ptPT|koKR|ruRU|esES|zhTW|enTW|enGB|enUS))z(Interface|Title|Notes|RequiredDeps|Dep[^: ]*|OptionalDeps|LoadOnDemand|LoadWith|LoadManagers|SavedVariablesPerCharacter|SavedVariables|DefaultState|Secure|Author|Version)Tr   z
(X-[^: ]*)z([^: ]*)z^#.*$z^.+$c                 C   sf   d}t ddd}t|| }|r:td|dr:|d7 }|  }d|krR|d	7 }d
|krb|d7 }|S )Nr   z(Interface)Tr   z(\d+)(\d{2})(\d{2})   g?z.luag?z.xmlg?)r   researchmatchgroupcasefold)textresultZinterface_patternr   Z
casefoldedr   r   r   analyse_text^   s    zWoWTocLexer.analyse_textN)__name__
__module____qualname____doc__namealiases	filenamesr   r   ZBuiltinVariableZOtherr   tokensr   r   r   r   r   r
   .   s8   %)F)F)r!   r   Zpygments.lexerr   r   Zpygments.tokenr   r   r   r   r   r	   __all__r   r   r
   r   r   r   r   <module>   s    

