opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
mako
/
ext
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
[DIR] __pycache__
N/A
__init__.py
0 bytes
Rename
Delete
autohandler.py
1.84 KB
Rename
Delete
babelplugin.py
2.04 KB
Rename
Delete
beaker_cache.py
2.52 KB
Rename
Delete
extract.py
4.55 KB
Rename
Delete
linguaplugin.py
1.89 KB
Rename
Delete
preprocessors.py
576 bytes
Rename
Delete
pygmentplugin.py
4.64 KB
Rename
Delete
turbogears.py
2.09 KB
Rename
Delete
# ext/pygmentplugin.py # Copyright 2006-2025 the Mako authors and contributors <see AUTHORS file> # # This module is part of Mako and is released under # the MIT License: http://www.opensource.org/licenses/mit-license.php from pygments import highlight from pygments.formatters.html import HtmlFormatter from pygments.lexer import bygroups from pygments.lexer import DelegatingLexer from pygments.lexer import include from pygments.lexer import RegexLexer from pygments.lexer import using from pygments.lexers.agile import Python3Lexer from pygments.lexers.agile import PythonLexer from pygments.lexers.web import CssLexer from pygments.lexers.web import HtmlLexer from pygments.lexers.web import JavascriptLexer from pygments.lexers.web import XmlLexer from pygments.token import Comment from pygments.token import Keyword from pygments.token import Name from pygments.token import Operator from pygments.token import Other from pygments.token import String from pygments.token import Text class MakoLexer(RegexLexer): name = "Mako" aliases = ["mako"] filenames = ["*.mao"] tokens = { "root": [ ( r"(\s*)(\%)(\s*end(?:\w+))(\n|\Z)", bygroups(Text, Comment.Preproc, Keyword, Other), ), ( r"(\s*)(\%(?!%))([^\n]*)(\n|\Z)", bygroups(Text, Comment.Preproc, using(PythonLexer), Other), ), ( r"(\s*)(##[^\n]*)(\n|\Z)", bygroups(Text, Comment.Preproc, Other), ), (r"""(?s)<%doc>.*?</%doc>""", Comment.Preproc), ( r"(<%)([\w\.\:]+)", bygroups(Comment.Preproc, Name.Builtin), "tag", ), ( r"(</%)([\w\.\:]+)(>)", bygroups(Comment.Preproc, Name.Builtin, Comment.Preproc), ), (r"<%(?=([\w\.\:]+))", Comment.Preproc, "ondeftags"), ( r"(?s)(<%(?:!?))(.*?)(%>)", bygroups(Comment.Preproc, using(PythonLexer), Comment.Preproc), ), ( r"(\$\{)(.*?)(\})", bygroups(Comment.Preproc, using(PythonLexer), Comment.Preproc), ), ( r"""(?sx) (.+?) # anything, followed by: (?: (?<=\n)(?=%(?!%)|\#\#) | # an eval or comment line (?=\#\*) | # multiline comment (?=</?%) | # a python block # call start or end (?=\$\{) | # a substitution (?<=\n)(?=\s*%) | # - don't consume (\\\n) | # an escaped newline \Z # end of string ) """, bygroups(Other, Operator), ), (r"\s+", Text), ], "ondeftags": [ (r"<%", Comment.Preproc), (r"(?<=<%)(include|inherit|namespace|page)", Name.Builtin), include("tag"), ], "tag": [ (r'((?:\w+)\s*=)\s*(".*?")', bygroups(Name.Attribute, String)), (r"/?\s*>", Comment.Preproc, "#pop"), (r"\s+", Text), ], "attr": [ ('".*?"', String, "#pop"), ("'.*?'", String, "#pop"), (r"[^\s>]+", String, "#pop"), ], } class MakoHtmlLexer(DelegatingLexer): name = "HTML+Mako" aliases = ["html+mako"] def __init__(self, **options): super().__init__(HtmlLexer, MakoLexer, **options) class MakoXmlLexer(DelegatingLexer): name = "XML+Mako" aliases = ["xml+mako"] def __init__(self, **options): super().__init__(XmlLexer, MakoLexer, **options) class MakoJavascriptLexer(DelegatingLexer): name = "JavaScript+Mako" aliases = ["js+mako", "javascript+mako"] def __init__(self, **options): super().__init__(JavascriptLexer, MakoLexer, **options) class MakoCssLexer(DelegatingLexer): name = "CSS+Mako" aliases = ["css+mako"] def __init__(self, **options): super().__init__(CssLexer, MakoLexer, **options) pygments_html_formatter = HtmlFormatter( cssclass="syntax-highlighted", linenos=True ) def syntax_highlight(filename="", language=None): mako_lexer = MakoLexer() python_lexer = Python3Lexer() if filename.startswith("memory:") or language == "mako": return lambda string: highlight( string, mako_lexer, pygments_html_formatter ) return lambda string: highlight( string, python_lexer, pygments_html_formatter )
Save