12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- """
- pygments.lexers.rita
- ~~~~~~~~~~~~~~~~~~~~
- Lexers for RITA language
- :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
- :license: BSD, see LICENSE for details.
- """
- from pygments.lexer import RegexLexer
- from pygments.token import Comment, Operator, Keyword, Name, Literal, \
- Punctuation, Whitespace
- __all__ = ['RitaLexer']
- class RitaLexer(RegexLexer):
- """
- Lexer for RITA.
- .. versionadded:: 2.11
- """
- name = 'Rita'
- url = 'https://github.com/zaibacu/rita-dsl'
- filenames = ['*.rita']
- aliases = ['rita']
- mimetypes = ['text/rita']
- tokens = {
- 'root': [
- (r'\n', Whitespace),
- (r'\s+', Whitespace),
- (r'#(.*?)\n', Comment.Single),
- (r'@(.*?)\n', Operator), # Yes, whole line as an operator
- (r'"(\w|\d|\s|(\\")|[\'_\-./,\?\!])+?"', Literal),
- (r'\'(\w|\d|\s|(\\\')|["_\-./,\?\!])+?\'', Literal),
- (r'([A-Z_]+)', Keyword),
- (r'([a-z0-9_]+)', Name),
- (r'((->)|[!?+*|=])', Operator),
- (r'[\(\),\{\}]', Punctuation)
- ]
- }
|