文件操作 - templates.cpython-311.pyc
返回文件管理
返回主菜单
删除本文件
文件: /usr/lib/python3/dist-packages/pygments/lexers/__pycache__/templates.cpython-311.pyc
编辑文件内容
� �E�c� � � � d Z ddlZddlmZmZ ddlmZmZ ddlm Z ddl mZ ddlm Z ddlmZ dd lmZmZ dd lmZ ddlmZ ddlmZmZmZmZmZmZmZmZm Z dd l!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- ddl.m/Z/m0Z0 g d�Z1 G d� de� � Z2 G d� de� � Z3 G d� de� � Z4 G d� de� � Z5 G d� de� � Z6 G d� de� � Z7 G d� de� � Z8 G d� de� � Z9 G d � d!e� � Z: G d"� d#e� � Z; G d$� d%e� � Z< G d&� d'e� � Z= G d(� d)e� � Z> G d*� d+e� � Z? G d,� d-e� � Z@ G d.� d/e� � ZA G d0� d1e� � ZB G d2� d3e� � ZC G d4� d5e� � ZD G d6� d7e� � ZE G d8� d9e� � ZF G d:� d;e� � ZG G d<� d=e� � ZH G d>� d?e� � ZI G d@� dAe� � ZJ G dB� dCe� � ZK G dD� dEe� � ZL G dF� dGe� � ZM G dH� dIe� � ZN G dJ� dKe� � ZO G dL� dMe� � ZP G dN� dOe� � ZQ G dP� dQe� � ZR G dR� dSe� � ZS G dT� dUe� � ZT G dV� dWe� � ZU G dX� dYe� � ZV G dZ� d[e� � ZW G d\� d]e� � ZX G d^� d_e� � ZY G d`� dae� � ZZ G db� dce� � Z[ G dd� dee� � Z\ G df� dge� � Z] G dh� die� � Z^ G dj� dke� � Z_ G dl� dme� � Z` G dn� doe� � Za G dp� dqe� � Zb G dr� dse� � Zc G dt� due� � Zd G dv� dwe� � Ze G dx� dye� � Zf G dz� d{e� � Zg G d|� d}e� � Zh G d~� de� � Zi G d�� d�e� � Zj G d�� d�e� � Zk G d�� d�e� � Zl G d�� d�e� � Zm G d�� d�e� � Zn G d�� d�e� � Zo G d�� d�e� � Zp G d�� d�e� � Zq G d�� d�e� � Zr G d�� d�e� � Zs G d�� d�e� � Zt G d�� d�e� � Zu G d�� d�e� � ZvdS )�z� pygments.lexers.templates ~~~~~~~~~~~~~~~~~~~~~~~~~ Lexers for various template engines' markup. :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. � N)� HtmlLexer�XmlLexer)�JavascriptLexer� LassoLexer)�CssLexer)�PhpLexer)�PythonLexer)� PerlLexer)� JavaLexer�TeaLangLexer)� YamlLexer)�SqlLexer) �Lexer�DelegatingLexer� RegexLexer�bygroups�include�using�this�default�combined)�Error�Punctuation� Whitespace�Text�Comment�Operator�Keyword�Name�String�Number�Other�Token)�html_doctype_matches�looks_like_xml)@�HtmlPhpLexer�XmlPhpLexer�CssPhpLexer�JavascriptPhpLexer�ErbLexer� RhtmlLexer�XmlErbLexer�CssErbLexer�JavascriptErbLexer�SmartyLexer�HtmlSmartyLexer�XmlSmartyLexer�CssSmartyLexer�JavascriptSmartyLexer�DjangoLexer�HtmlDjangoLexer�CssDjangoLexer�XmlDjangoLexer�JavascriptDjangoLexer�GenshiLexer�HtmlGenshiLexer�GenshiTextLexer�CssGenshiLexer�JavascriptGenshiLexer�MyghtyLexer�MyghtyHtmlLexer�MyghtyXmlLexer�MyghtyCssLexer�MyghtyJavascriptLexer� MasonLexer� MakoLexer� MakoHtmlLexer�MakoXmlLexer�MakoJavascriptLexer�MakoCssLexer�JspLexer�CheetahLexer�CheetahHtmlLexer�CheetahXmlLexer�CheetahJavascriptLexer�EvoqueLexer�EvoqueHtmlLexer�EvoqueXmlLexer�ColdfusionLexer�ColdfusionHtmlLexer�ColdfusionCFCLexer� VelocityLexer�VelocityHtmlLexer�VelocityXmlLexer�SspLexer�TeaTemplateLexer�LassoHtmlLexer� LassoXmlLexer� LassoCssLexer�LassoJavascriptLexer�HandlebarsLexer�HandlebarsHtmlLexer�YamlJinjaLexer�LiquidLexer� TwigLexer� TwigHtmlLexer� Angular2Lexer�Angular2HtmlLexer� SqlJinjaLexerc �d � e Zd ZdZdZdZdgZdgZ ej dej � � Zd� Zd� Z d � Zd S )r* z� Generic ERB (Ruby Templating) lexer. Just highlights ruby code between the preprocessor directives, other data is left untouched by the lexer. All options are also forwarded to the `RubyLexer`. �ERBzhttps://github.com/ruby/erb�erbzapplication/x-ruby-templatingz*(<%%|%%>|<%=|<%#|<%-|<%|-%>|%>|^%[^%].*?$)c �P � ddl m} |di |��| _ t j | fi |�� d S )Nr )� RubyLexer� )�pygments.lexers.rubyrj � ruby_lexerr �__init__)�self�optionsrj s �;/usr/lib/python3/dist-packages/pygments/lexers/templates.pyrn zErbLexer.__init__D sI � �2�2�2�2�2�2�#�)�.�.�g�.�.��� ��t�'�'�w�'�'�'�'�'� c # �� K � | j � |� � }|� � � dx}} |dk r6|� � � }|t |fV � |t |� � z }d}�n�|dk �r�|� � � }|dv r|t |fV � |dz }d}�n�|dk rM|t j |fV � |� � � }|dz t |fV � |dt |� � z z }d}�nV|dv ry|t j |fV � |t |� � z }|� � � }d}| j � |� � D ]\ }} } ||z | | fV � �|t |� � z }d}n�|d v r!|t |fV � |t |� � z }d}n�|t j |d fV � d}| j � |dd � � � D ]\ }} } |dz |z | | fV � �|t |� � z }d}nP|dk rJ|� � � }|d vr |t |fV � n|t j |fV � |t |� � z }d}��# t $ r Y d S w xY w)z� Since ERB doesn't allow "<%" and other tags inside of ruby blocks we have to use a split approach here that fails for that too. r T� )z<%%z%%>� z<%#� )�<%z<%=z<%-)�%>z-%>N)� _block_re�split�reverse�popr"