Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/pygments/lexers/rita.py: 100%
10 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:16 +0000
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:16 +0000
1"""
2 pygments.lexers.rita
3 ~~~~~~~~~~~~~~~~~~~~
5 Lexers for RITA language
7 :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
8 :license: BSD, see LICENSE for details.
9"""
11from pygments.lexer import RegexLexer
12from pygments.token import Comment, Operator, Keyword, Name, Literal, \
13 Punctuation, Whitespace
15__all__ = ['RitaLexer']
18class RitaLexer(RegexLexer):
19 """
20 Lexer for RITA.
22 .. versionadded:: 2.11
23 """
24 name = 'Rita'
25 url = 'https://github.com/zaibacu/rita-dsl'
26 filenames = ['*.rita']
27 aliases = ['rita']
28 mimetypes = ['text/rita']
30 tokens = {
31 'root': [
32 (r'\n', Whitespace),
33 (r'\s+', Whitespace),
34 (r'#(.*?)\n', Comment.Single),
35 (r'@(.*?)\n', Operator), # Yes, whole line as an operator
36 (r'"(\w|\d|\s|(\\")|[\'_\-./,\?\!])+?"', Literal),
37 (r'\'(\w|\d|\s|(\\\')|["_\-./,\?\!])+?\'', Literal),
38 (r'([A-Z_]+)', Keyword),
39 (r'([a-z0-9_]+)', Name),
40 (r'((->)|[!?+*|=])', Operator),
41 (r'[\(\),\{\}]', Punctuation)
42 ]
43 }