diff options
Diffstat (limited to 'venv/lib/python3.11/site-packages/pygments/lexers/dns.py')
-rw-r--r-- | venv/lib/python3.11/site-packages/pygments/lexers/dns.py | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/venv/lib/python3.11/site-packages/pygments/lexers/dns.py b/venv/lib/python3.11/site-packages/pygments/lexers/dns.py deleted file mode 100644 index 18cab31..0000000 --- a/venv/lib/python3.11/site-packages/pygments/lexers/dns.py +++ /dev/null @@ -1,106 +0,0 @@ -""" - pygments.lexers.dns - ~~~~~~~~~~~~~~~~~~~ - - Pygments lexers for DNS - - :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -import re - -from pygments.token import Comment, Operator, Keyword, Name, String, \ - Number, Punctuation, Whitespace, Literal -from pygments.lexer import RegexLexer, bygroups, include - -__all__ = ['DnsZoneLexer'] - - -CLASSES = [ - "IN", - "CS", - "CH", - "HS", -] - -CLASSES_RE = "(" + "|".join(CLASSES) + ')' - - -class DnsZoneLexer(RegexLexer): - - """ - Lexer for DNS zone file - - .. versionadded:: 2.16 - """ - - flags = re.MULTILINE - - name = 'Zone' - aliases = ['zone'] - filenames = [ "*.zone" ] - url = "https://datatracker.ietf.org/doc/html/rfc1035" - mimetypes = ['text/dns'] - - tokens = { - 'root': [ - # Empty/comment line: - (r'([ \t]*)(;.*)(\n)', bygroups(Whitespace, Comment.Single, Whitespace)), - # Special directives: - (r'^\$ORIGIN\b', Keyword, 'values'), - (r'^\$TTL\b', Keyword, 'values'), - (r'^\$INCLUDE\b', Comment.Preproc, 'include'), - # TODO, $GENERATE https://bind9.readthedocs.io/en/v9.18.14/chapter3.html#soa-rr - (r'^\$[A-Z]+\b', Keyword, 'values'), - # Records: - # <domain-name> [<TTL>] [<class>] <type> <RDATA> [<comment>] - (r'^(@)([ \t]+)(?:([0-9]+[smhdw]?)([ \t]+))?(?:' + CLASSES_RE + "([ \t]+))?([A-Z]+)([ \t]+)", - bygroups(Operator, Whitespace, Number.Integer, Whitespace, Name.Class, Whitespace, Keyword.Type, Whitespace), - "values"), - (r'^([^ \t\n]*)([ \t]+)(?:([0-9]+[smhdw]?)([ \t]+))?(?:' + CLASSES_RE + "([ \t]+))?([A-Z]+)([ \t]+)", - bygroups(Name, Whitespace, Number.Integer, Whitespace, Name.Class, Whitespace, Keyword.Type, Whitespace), - "values"), - # <domain-name> [<class>] [<TTL>] <type> <RDATA> [<comment>] - (r'^(Operator)([ \t]+)(?:' + CLASSES_RE + "([ \t]+))?(?:([0-9]+[smhdw]?)([ \t]+))?([A-Z]+)([ \t]+)", - bygroups(Name, Whitespace, Number.Integer, Whitespace, Name.Class, Whitespace, Keyword.Type, Whitespace), - "values"), - (r'^([^ \t\n]*)([ \t]+)(?:' + CLASSES_RE + "([ \t]+))?(?:([0-9]+[smhdw]?)([ \t]+))?([A-Z]+)([ \t]+)", - bygroups(Name, Whitespace, Number.Integer, Whitespace, Name.Class, Whitespace, Keyword.Type, Whitespace), - "values"), - ], - # Parsing values: - 'values': [ - (r'\n', Whitespace, "#pop"), - (r'\(', Punctuation, 'nested'), - include('simple-values'), - ], - # Parsing nested values (...): - 'nested': [ - (r'\)', Punctuation, "#pop"), - include('simple-values'), - ], - # Parsing values: - 'simple-values': [ - (r'(;.*)(\n)', bygroups(Comment.Single, Whitespace)), - (r'[ \t]+', Whitespace), - (r"@\b", Operator), - ('"', String, 'string'), - (r'[0-9]+[smhdw]?$', Number.Integer), - (r'([0-9]+[smhdw]?)([ \t]+)', bygroups(Number.Integer, Whitespace)), - (r'\S+', Literal), - ], - 'include': [ - (r'([ \t]+)([^ \t\n]+)([ \t]+)([-\._a-zA-Z]+)([ \t]+)(;.*)?$', - bygroups(Whitespace, Comment.PreprocFile, Whitespace, Name, Whitespace, Comment.Single), '#pop'), - (r'([ \t]+)([^ \t\n]+)([ \t\n]+)$', bygroups(Whitespace, Comment.PreprocFile, Whitespace), '#pop'), - ], - "string": [ - (r'\\"', String), - (r'"', String, "#pop"), - (r'[^"]+', String), - ] - } - - def analyse_text(text): - return text.startswith("$ORIGIN") |