summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/pygments/lexers/savi.py
diff options
context:
space:
mode:
Diffstat (limited to 'venv/lib/python3.11/site-packages/pygments/lexers/savi.py')
-rw-r--r--venv/lib/python3.11/site-packages/pygments/lexers/savi.py170
1 files changed, 0 insertions, 170 deletions
diff --git a/venv/lib/python3.11/site-packages/pygments/lexers/savi.py b/venv/lib/python3.11/site-packages/pygments/lexers/savi.py
deleted file mode 100644
index 48927f3..0000000
--- a/venv/lib/python3.11/site-packages/pygments/lexers/savi.py
+++ /dev/null
@@ -1,170 +0,0 @@
-"""
- pygments.lexers.savi
- ~~~~~~~~~~~~~~~~~~~~
-
- Lexer for Savi.
-
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
- :license: BSD, see LICENSE for details.
-"""
-
-from pygments.lexer import RegexLexer, bygroups, include
-from pygments.token import Whitespace, Keyword, Name, String, Number, \
- Operator, Punctuation, Comment, Generic, Error
-
-__all__ = ['SaviLexer']
-
-
-# The canonical version of this file can be found in the following repository,
-# where it is kept in sync with any language changes, as well as the other
-# pygments-like lexers that are maintained for use with other tools:
-# - https://github.com/savi-lang/savi/blob/main/tooling/pygments/lexers/savi.py
-#
-# If you're changing this file in the pygments repository, please ensure that
-# any changes you make are also propagated to the official Savi repository,
-# in order to avoid accidental clobbering of your changes later when an update
-# from the Savi repository flows forward into the pygments repository.
-#
-# If you're changing this file in the Savi repository, please ensure that
-# any changes you make are also reflected in the other pygments-like lexers
-# (rouge, vscode, etc) so that all of the lexers can be kept cleanly in sync.
-
-class SaviLexer(RegexLexer):
- """
- For Savi source code.
-
- .. versionadded: 2.10
- """
-
- name = 'Savi'
- url = 'https://github.com/savi-lang/savi'
- aliases = ['savi']
- filenames = ['*.savi']
-
- tokens = {
- "root": [
- # Line Comment
- (r'//.*?$', Comment.Single),
-
- # Doc Comment
- (r'::.*?$', Comment.Single),
-
- # Capability Operator
- (r'(\')(\w+)(?=[^\'])', bygroups(Operator, Name)),
-
- # Double-Quote String
- (r'\w?"', String.Double, "string.double"),
-
- # Single-Char String
- (r"'", String.Char, "string.char"),
-
- # Type Name
- (r'(_?[A-Z]\w*)', Name.Class),
-
- # Nested Type Name
- (r'(\.)(\s*)(_?[A-Z]\w*)', bygroups(Punctuation, Whitespace, Name.Class)),
-
- # Declare
- (r'^([ \t]*)(:\w+)',
- bygroups(Whitespace, Name.Tag),
- "decl"),
-
- # Error-Raising Calls/Names
- (r'((\w+|\+|\-|\*)\!)', Generic.Deleted),
-
- # Numeric Values
- (r'\b\d([\d_]*(\.[\d_]+)?)\b', Number),
-
- # Hex Numeric Values
- (r'\b0x([0-9a-fA-F_]+)\b', Number.Hex),
-
- # Binary Numeric Values
- (r'\b0b([01_]+)\b', Number.Bin),
-
- # Function Call (with braces)
- (r'\w+(?=\()', Name.Function),
-
- # Function Call (with receiver)
- (r'(\.)(\s*)(\w+)', bygroups(Punctuation, Whitespace, Name.Function)),
-
- # Function Call (with self receiver)
- (r'(@)(\w+)', bygroups(Punctuation, Name.Function)),
-
- # Parenthesis
- (r'\(', Punctuation, "root"),
- (r'\)', Punctuation, "#pop"),
-
- # Brace
- (r'\{', Punctuation, "root"),
- (r'\}', Punctuation, "#pop"),
-
- # Bracket
- (r'\[', Punctuation, "root"),
- (r'(\])(\!)', bygroups(Punctuation, Generic.Deleted), "#pop"),
- (r'\]', Punctuation, "#pop"),
-
- # Punctuation
- (r'[,;:\.@]', Punctuation),
-
- # Piping Operators
- (r'(\|\>)', Operator),
-
- # Branching Operators
- (r'(\&\&|\|\||\?\?|\&\?|\|\?|\.\?)', Operator),
-
- # Comparison Operators
- (r'(\<\=\>|\=\~|\=\=|\<\=|\>\=|\<|\>)', Operator),
-
- # Arithmetic Operators
- (r'(\+|\-|\/|\*|\%)', Operator),
-
- # Assignment Operators
- (r'(\=)', Operator),
-
- # Other Operators
- (r'(\!|\<\<|\<|\&|\|)', Operator),
-
- # Identifiers
- (r'\b\w+\b', Name),
-
- # Whitespace
- (r'[ \t\r]+\n*|\n+', Whitespace),
- ],
-
- # Declare (nested rules)
- "decl": [
- (r'\b[a-z_]\w*\b(?!\!)', Keyword.Declaration),
- (r':', Punctuation, "#pop"),
- (r'\n', Whitespace, "#pop"),
- include("root"),
- ],
-
- # Double-Quote String (nested rules)
- "string.double": [
- (r'\\\(', String.Interpol, "string.interpolation"),
- (r'\\u[0-9a-fA-F]{4}', String.Escape),
- (r'\\x[0-9a-fA-F]{2}', String.Escape),
- (r'\\[bfnrt\\\']', String.Escape),
- (r'\\"', String.Escape),
- (r'"', String.Double, "#pop"),
- (r'[^\\"]+', String.Double),
- (r'.', Error),
- ],
-
- # Single-Char String (nested rules)
- "string.char": [
- (r'\\u[0-9a-fA-F]{4}', String.Escape),
- (r'\\x[0-9a-fA-F]{2}', String.Escape),
- (r'\\[bfnrt\\\']', String.Escape),
- (r"\\'", String.Escape),
- (r"'", String.Char, "#pop"),
- (r"[^\\']+", String.Char),
- (r'.', Error),
- ],
-
- # Interpolation inside String (nested rules)
- "string.interpolation": [
- (r"\)", String.Interpol, "#pop"),
- include("root"),
- ]
- }