From 6d7ba58f880be618ade07f8ea080fe8c4bf8a896 Mon Sep 17 00:00:00 2001 From: cyfraeviolae Date: Wed, 3 Apr 2024 03:10:44 -0400 Subject: venv --- .../site-packages/pygments/lexers/tls.py | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 venv/lib/python3.11/site-packages/pygments/lexers/tls.py (limited to 'venv/lib/python3.11/site-packages/pygments/lexers/tls.py') diff --git a/venv/lib/python3.11/site-packages/pygments/lexers/tls.py b/venv/lib/python3.11/site-packages/pygments/lexers/tls.py new file mode 100644 index 0000000..34f8d4f --- /dev/null +++ b/venv/lib/python3.11/site-packages/pygments/lexers/tls.py @@ -0,0 +1,55 @@ +""" + pygments.lexers.tls + ~~~~~~~~~~~~~~~~~~~ + + Lexers for the TLS presentation language. + + :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. + :license: BSD, see LICENSE for details. +""" +import re + +from pygments.lexer import RegexLexer, words +from pygments.token import Comment, Operator, Keyword, Name, String, \ + Number, Punctuation, Whitespace + +__all__ = ['TlsLexer'] + + +class TlsLexer(RegexLexer): + """ + The TLS presentation language, described in RFC 8446. + + .. versionadded:: 2.16 + """ + name = 'TLS Presentation Language' + url = 'https://www.rfc-editor.org/rfc/rfc8446#section-3' + filenames = [] + aliases = ['tls'] + mimetypes = [] + + flags = re.MULTILINE | re.DOTALL + + tokens = { + 'root': [ + (r'\s+', Whitespace), + # comments + (r'/[*].*?[*]/', Comment.Multiline), + # Keywords + (words(('struct', 'enum', 'select', 'case'), suffix=r'\b'), + Keyword), + (words(('uint8', 'uint16', 'uint24', 'uint32', 'uint64', 'opaque'), + suffix=r'\b'), Keyword.Type), + # numeric literals + (r'0x[0-9a-fA-F]+', Number.Hex), + (r'[0-9]+', Number.Integer), + # string literal + (r'"(\\.|[^"\\])*"', String), + # tokens + (r'[.]{2}', Operator), + (r'[+\-*/&^]', Operator), + (r'[|<>=!()\[\]{}.,;:\?]', Punctuation), + # identifiers + (r'[^\W\d]\w*', Name.Other), + ] + } -- cgit v1.2.3