File: //opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/__pycache__/html.cpython-311.pyc
�
�;f^P � � � d Z ddlZddlmZmZmZmZmZmZ ddl m
Z
mZmZm
Z
mZmZmZmZ ddlmZmZ ddlmZ ddlmZ ddlmZmZmZ dd lmZ g d
�Z G d� de� � Z G d
� de� � Z! G d� de� � Z" G d� de"� � Z# G d� de� � Z$ G d� de� � Z% G d� de� � Z&e&Z' G d� de� � Z(dS )z�
pygments.lexers.html
~~~~~~~~~~~~~~~~~~~~
Lexers for HTML, XML and related markup.
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�
RegexLexer�ExtendedRegexLexer�include�bygroups�default�using)�Text�Comment�Operator�Keyword�Name�String�Punctuation�
Whitespace)�looks_like_xml�html_doctype_matches)�JavascriptLexer)�
ScalaLexer)�CssLexer�_indentation�
_starts_block)� RubyLexer)� HtmlLexer�DtdLexer�XmlLexer� XsltLexer� HamlLexer�
ScamlLexer�PugLexer�UrlEncodedLexerc �� � e Zd ZdZdZdZdgZg d�ZddgZdZ e
j e
j z Z
d efd
ej fdej fdej fd
ej fdej fd eeeej e� � dfd eeeej e� � dfd eeeej � � dfd eeeeeej ee� � fg
defd eej ee� � dfdej fd eeee� � dfgd eeeeeej ee� � dfd ee� � fd ee� � dfd ee� � dfgd eeeeeej ee� � dfd! ee� � fd ee� � dfd ee� � dfgd"edfd#edfd$edfgd%�Zd&� Zd'S )(r zo
For HTML 4 and XHTML 1 markup. Nested JavaScript and CSS is highlighted
by the appropriate lexer.
�HTMLzhttps://html.spec.whatwg.org/�html)z*.htmlz*.htmz*.xhtml�*.xsltz text/htmlzapplication/xhtml+xml� z[^<&]+�&\S*?;�\<\!\[CDATA\[.*?\]\]\>�
<!--.*?-->� <\?.*?\?>�<![^>]*>z(<)(\s*)(script)(\s*))�script-content�tagz(<)(\s*)(style)(\s*))�
style-contentr, z(<)(\s*)([\w:.-]+)r, z"(<)(\s*)(/)(\s*)([\w:.-]+)(\s*)(>)�\s+z([\w:-]+\s*)(=)(\s*)�attr�[\w:-]+z(/?)(\s*)(>)�#popz (<)(\s*)(/)(\s*)(script)(\s*)(>)z.+?(?=<\s*/\s*script\s*>)z.+?\nz.+z(<)(\s*)(/)(\s*)(style)(\s*)(>)z.+?(?=<\s*/\s*style\s*>)�".*?"�'.*?'�[^\s>]+)�rootr, r+ r- r/ c �( � t | � � rdS d S )Ng �?)r ��texts �G/opt/alt/python311/lib/python3.11/site-packages/pygments/lexers/html.py�analyse_textzHtmlLexer.analyse_textf s! � ���%�%� ��3� � � N)�__name__�
__module__�__qualname__�__doc__�name�url�aliases� filenames� mimetypes�
version_added�re�
IGNORECASE�DOTALL�flagsr r
�Entityr
�Preproc� Multiliner r �Tag� Attributer r r r r �tokensr: � r; r9 r r s� � � � � � �� �
�D�
)�C��h�G�8�8�8�I��5�6�I��M��M�B�I�%�E� �t��
���$�
&���8�
�G�-�.�
�7�?�+�
���)�
%�
�X�k�4���4�
8�
8�
&�
(� %�
�X�k�4���4�
8�
8�
%�
'�
#�
�X�k�4���
2�
2�E�
;�
2�
�X�k�4��d�D�H�d�!�#� #�
$�#
�, �T�N�
$�h�h�t�~�x��&N�&N�
�
�
���(�
�h�h�{�D�+�F�F��O�
� 1�
�X�k�4��d�D�H�d�!�#� #�$*�
,� *�5�5��+A�+A�B�
�u�u�_�-�-�v�6�
�E�E�/�*�*�F�3�
� 0�
�X�k�4��d�D�H�d�!�#� #�#)�
+� )�%�%��/�/�:�
�u�u�X����/�
�E�E�(�O�O�V�,�
� �f�f�%�
�f�f�%�
���(�
�k:� :�F�x� � � � r; r c �� � e Zd ZdZej ej z ZdZdgZ dgZ
dgZdZdZ
ed� � d eeeej � � d
fd eeeej � � dfd
eeeej � � dfd eeeej � � dfd eeej ee� � fd eeeej � � fdej fdefg defdej fdedfdefdej fdej fgdefdedfdefg ed� � d ej fd!ej fd"edfg ed� � d#ej fd$ej fd%ej fd!ej fd"edfg ed� � d&ej fd!ej fd"edfg ed� � d'ej fd!ej fd"edfgd(�Zd)� Zd*S )+r z7
A lexer for DTDs (Document Type Definitions).
�DTD�dtdz*.dtdzapplication/xml-dtdz6https://en.wikipedia.org/wiki/Document_type_definitionz1.5�commonz(<!ELEMENT)(\s+)(\S+)�elementz(<!ATTLIST)(\s+)(\S+)�attlistz(<!ENTITY)(\s+)(\S+)�entityz(<!NOTATION)(\s+)(\S+)�notationz(<!\[)([^\[\s]+)(\s*)(\[)z(<!DOCTYPE)(\s+)([^>\s]+)z
PUBLIC|SYSTEMz[\[\]>]r. z(%|&)[^;]*;z<!--�commentz [(|)*,?+]z"[^"]*"z
\'[^\']*\'z[^-]+z-->r1 �-zEMPTY|ANY|#PCDATAz[^>\s|()?+*,]+�>z?CDATA|IDREFS|IDREF|ID|NMTOKENS|NMTOKEN|ENTITIES|ENTITY|NOTATIONz#REQUIRED|#IMPLIED|#FIXEDzxml:space|xml:langzSYSTEM|PUBLIC|NDATAz
SYSTEM|PUBLIC)r5 rT rY rU rV rW rX c �D � t | � � sd| v sd| v sd| v rdS d S d S )Nz <!ELEMENTz <!ATTLISTz<!ENTITY皙�����?�r r7 s r9 r: zDtdLexer.analyse_text� sF � ��d�#�#� ��4���;�$�#6�#6�*��:L�:L��3� � �:L�:Lr; N)r<