�
|�e� � �l � d Z ddlZddlmZmZ ddlmZmZmZm Z m
Z
mZ dgZd d�Z
d d�Z G d� de� Zy)
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�WoWTocLexerc � � |rdnddz | z dz S )Nz(?i)� z ^(##)( *)z( *)(:)( *)(.*?)( *)$� )�
inner_pattern�ignore_cases �8/usr/lib/python3/dist-packages/pygments/lexers/wowtoc.py�_create_tag_line_patternr s( � �#�W��
�
�
�
� #�
#� $� c �� � t | |�� t t j t j
|t j
t t j
t t j
� fS )N�r )r r r
�Declarationr �
Whitespacer r )r �inner_tokenr s r �_create_tag_line_tokenr sN � �
!��K�H������O�O���O�O���O�O���O�O�
�� r c �� � e Zd ZdZdZdgZdgZd edej � edej d� � ed
ej d� � edej � defd
efgiZ
d� Zy)r zL
Lexer for World of Warcraft TOC files.
.. versionadded:: 2.14
zWorld of Warcraft TOC�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 �� � d}t dd�� }t j || � }|r*t j d|j d� � r|dz
}| j � }d|v r|d z
}d
|v r|dz
}|S )Nr z(Interface)Tr z(\d+)(\d{2})(\d{2})� g�������?z.luag�������?z.xmlg�������?)r �re�search�match�group�casefold)�text�result�interface_patternr! �
casefoldeds r �analyse_textzWoWTocLexer.analyse_text^ s� � � �� 5�^�QU�V��� � �+�T�2���R�X�X�4�e�k�k�!�n�E��c�M�F��]�]�_�
� �Z���c�M�F��Z���d�N�F��
r N)�__name__�
__module__�__qualname__�__doc__�name�aliases� filenamesr r �Builtin�Variable�Otherr �tokensr( r r r r r . s� � �� #�D��j�G�� �I� �
#�V����
�
#�F� ��� �
�
#���
�
� �
�
#���
�
�
� �w�� �d�O�A!
�#�F�Jr )F)r, r �pygments.lexerr r �pygments.tokenr r r r r r
�__all__r r r r r r �<module>r7 s7 ��
�
� /� L� L��/��$��&J�*� Jr |