aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/Pygments/py3/pygments/lexers/webidl.py
diff options
context:
space:
mode:
authorshadchin <shadchin@yandex-team.ru>2022-02-10 16:44:39 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:44:39 +0300
commite9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (patch)
tree64175d5cadab313b3e7039ebaa06c5bc3295e274 /contrib/python/Pygments/py3/pygments/lexers/webidl.py
parent2598ef1d0aee359b4b6d5fdd1758916d5907d04f (diff)
downloadydb-e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0.tar.gz
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/python/Pygments/py3/pygments/lexers/webidl.py')
-rw-r--r--contrib/python/Pygments/py3/pygments/lexers/webidl.py596
1 files changed, 298 insertions, 298 deletions
diff --git a/contrib/python/Pygments/py3/pygments/lexers/webidl.py b/contrib/python/Pygments/py3/pygments/lexers/webidl.py
index 6b5627695c..d805484c74 100644
--- a/contrib/python/Pygments/py3/pygments/lexers/webidl.py
+++ b/contrib/python/Pygments/py3/pygments/lexers/webidl.py
@@ -1,298 +1,298 @@
-"""
- pygments.lexers.webidl
- ~~~~~~~~~~~~~~~~~~~~~~
-
- Lexers for Web IDL, including some extensions.
-
- :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
- :license: BSD, see LICENSE for details.
-"""
-
-from pygments.lexer import RegexLexer, default, include, words
-from pygments.token import Comment, Keyword, Name, Number, Punctuation, \
- String, Text
-
-__all__ = ['WebIDLLexer']
-
-_builtin_types = (
- # primitive types
- 'byte', 'octet', 'boolean',
- r'(?:unsigned\s+)?(?:short|long(?:\s+long)?)',
- r'(?:unrestricted\s+)?(?:float|double)',
- # string types
- 'DOMString', 'ByteString', 'USVString',
- # exception types
- 'Error', 'DOMException',
- # typed array types
- 'Uint8Array', 'Uint16Array', 'Uint32Array', 'Uint8ClampedArray',
- 'Float32Array', 'Float64Array',
- # buffer source types
- 'ArrayBuffer', 'DataView', 'Int8Array', 'Int16Array', 'Int32Array',
- # other
- 'any', 'void', 'object', 'RegExp',
-)
-_identifier = r'_?[A-Za-z][a-zA-Z0-9_-]*'
-_keyword_suffix = r'(?![\w-])'
-_string = r'"[^"]*"'
-
-
-class WebIDLLexer(RegexLexer):
- """
- For Web IDL.
-
- .. versionadded:: 2.6
- """
-
- name = 'Web IDL'
- aliases = ['webidl']
- filenames = ['*.webidl']
-
- tokens = {
- 'common': [
- (r'\s+', Text),
- (r'(?s)/\*.*?\*/', Comment.Multiline),
- (r'//.*', Comment.Single),
- (r'^#.*', Comment.Preproc),
- ],
- 'root': [
- include('common'),
- (r'\[', Punctuation, 'extended_attributes'),
- (r'partial' + _keyword_suffix, Keyword),
- (r'typedef' + _keyword_suffix, Keyword, ('typedef', 'type')),
- (r'interface' + _keyword_suffix, Keyword, 'interface_rest'),
- (r'enum' + _keyword_suffix, Keyword, 'enum_rest'),
- (r'callback' + _keyword_suffix, Keyword, 'callback_rest'),
- (r'dictionary' + _keyword_suffix, Keyword, 'dictionary_rest'),
- (r'namespace' + _keyword_suffix, Keyword, 'namespace_rest'),
- (_identifier, Name.Class, 'implements_rest'),
- ],
- 'extended_attributes': [
- include('common'),
- (r',', Punctuation),
- (_identifier, Name.Decorator),
- (r'=', Punctuation, 'extended_attribute_rest'),
- (r'\(', Punctuation, 'argument_list'),
- (r'\]', Punctuation, '#pop'),
- ],
- 'extended_attribute_rest': [
- include('common'),
- (_identifier, Name, 'extended_attribute_named_rest'),
- (_string, String),
- (r'\(', Punctuation, 'identifier_list'),
- default('#pop'),
- ],
- 'extended_attribute_named_rest': [
- include('common'),
- (r'\(', Punctuation, 'argument_list'),
- default('#pop'),
- ],
- 'argument_list': [
- include('common'),
- (r'\)', Punctuation, '#pop'),
- default('argument'),
- ],
- 'argument': [
- include('common'),
- (r'optional' + _keyword_suffix, Keyword),
- (r'\[', Punctuation, 'extended_attributes'),
- (r',', Punctuation, '#pop'),
- (r'\)', Punctuation, '#pop:2'),
- default(('argument_rest', 'type'))
- ],
- 'argument_rest': [
- include('common'),
- (_identifier, Name.Variable),
- (r'\.\.\.', Punctuation),
- (r'=', Punctuation, 'default_value'),
- default('#pop'),
- ],
- 'identifier_list': [
- include('common'),
- (_identifier, Name.Class),
- (r',', Punctuation),
- (r'\)', Punctuation, '#pop'),
- ],
- 'type': [
- include('common'),
- (r'(?:' + r'|'.join(_builtin_types) + r')' + _keyword_suffix,
- Keyword.Type, 'type_null'),
- (words(('sequence', 'Promise', 'FrozenArray'),
- suffix=_keyword_suffix), Keyword.Type, 'type_identifier'),
- (_identifier, Name.Class, 'type_identifier'),
- (r'\(', Punctuation, 'union_type'),
- ],
- 'union_type': [
- include('common'),
- (r'or' + _keyword_suffix, Keyword),
- (r'\)', Punctuation, ('#pop', 'type_null')),
- default('type'),
- ],
- 'type_identifier': [
- (r'<', Punctuation, 'type_list'),
- default(('#pop', 'type_null'))
- ],
- 'type_null': [
- (r'\?', Punctuation),
- default('#pop:2'),
- ],
- 'default_value': [
- include('common'),
- include('const_value'),
- (_string, String, '#pop'),
- (r'\[\s*\]', Punctuation, '#pop'),
- ],
- 'const_value': [
- include('common'),
- (words(('true', 'false', '-Infinity', 'Infinity', 'NaN', 'null'),
- suffix=_keyword_suffix), Keyword.Constant, '#pop'),
- (r'-?(?:(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:[Ee][+-]?[0-9]+)?' +
- r'|[0-9]+[Ee][+-]?[0-9]+)', Number.Float, '#pop'),
- (r'-?[1-9][0-9]*', Number.Integer, '#pop'),
- (r'-?0[Xx][0-9A-Fa-f]+', Number.Hex, '#pop'),
- (r'-?0[0-7]*', Number.Oct, '#pop'),
- ],
- 'typedef': [
- include('common'),
- (_identifier, Name.Class),
- (r';', Punctuation, '#pop'),
- ],
- 'namespace_rest': [
- include('common'),
- (_identifier, Name.Namespace),
- (r'\{', Punctuation, 'namespace_body'),
- (r';', Punctuation, '#pop'),
- ],
- 'namespace_body': [
- include('common'),
- (r'\[', Punctuation, 'extended_attributes'),
- (r'readonly' + _keyword_suffix, Keyword),
- (r'attribute' + _keyword_suffix,
- Keyword, ('attribute_rest', 'type')),
- (r'const' + _keyword_suffix, Keyword, ('const_rest', 'type')),
- (r'\}', Punctuation, '#pop'),
- default(('operation_rest', 'type')),
- ],
- 'interface_rest': [
- include('common'),
- (_identifier, Name.Class),
- (r':', Punctuation),
- (r'\{', Punctuation, 'interface_body'),
- (r';', Punctuation, '#pop'),
- ],
- 'interface_body': [
- (words(('iterable', 'maplike', 'setlike'), suffix=_keyword_suffix),
- Keyword, 'iterable_maplike_setlike_rest'),
- (words(('setter', 'getter', 'creator', 'deleter', 'legacycaller',
- 'inherit', 'static', 'stringifier', 'jsonifier'),
- suffix=_keyword_suffix), Keyword),
- (r'serializer' + _keyword_suffix, Keyword, 'serializer_rest'),
- (r';', Punctuation),
- include('namespace_body'),
- ],
- 'attribute_rest': [
- include('common'),
- (_identifier, Name.Variable),
- (r';', Punctuation, '#pop'),
- ],
- 'const_rest': [
- include('common'),
- (_identifier, Name.Constant),
- (r'=', Punctuation, 'const_value'),
- (r';', Punctuation, '#pop'),
- ],
- 'operation_rest': [
- include('common'),
- (r';', Punctuation, '#pop'),
- default('operation'),
- ],
- 'operation': [
- include('common'),
- (_identifier, Name.Function),
- (r'\(', Punctuation, 'argument_list'),
- (r';', Punctuation, '#pop:2'),
- ],
- 'iterable_maplike_setlike_rest': [
- include('common'),
- (r'<', Punctuation, 'type_list'),
- (r';', Punctuation, '#pop'),
- ],
- 'type_list': [
- include('common'),
- (r',', Punctuation),
- (r'>', Punctuation, '#pop'),
- default('type'),
- ],
- 'serializer_rest': [
- include('common'),
- (r'=', Punctuation, 'serialization_pattern'),
- (r';', Punctuation, '#pop'),
- default('operation'),
- ],
- 'serialization_pattern': [
- include('common'),
- (_identifier, Name.Variable, '#pop'),
- (r'\{', Punctuation, 'serialization_pattern_map'),
- (r'\[', Punctuation, 'serialization_pattern_list'),
- ],
- 'serialization_pattern_map': [
- include('common'),
- (words(('getter', 'inherit', 'attribute'),
- suffix=_keyword_suffix), Keyword),
- (r',', Punctuation),
- (_identifier, Name.Variable),
- (r'\}', Punctuation, '#pop:2'),
- ],
- 'serialization_pattern_list': [
- include('common'),
- (words(('getter', 'attribute'), suffix=_keyword_suffix), Keyword),
- (r',', Punctuation),
- (_identifier, Name.Variable),
- (r']', Punctuation, '#pop:2'),
- ],
- 'enum_rest': [
- include('common'),
- (_identifier, Name.Class),
- (r'\{', Punctuation, 'enum_body'),
- (r';', Punctuation, '#pop'),
- ],
- 'enum_body': [
- include('common'),
- (_string, String),
- (r',', Punctuation),
- (r'\}', Punctuation, '#pop'),
- ],
- 'callback_rest': [
- include('common'),
- (r'interface' + _keyword_suffix,
- Keyword, ('#pop', 'interface_rest')),
- (_identifier, Name.Class),
- (r'=', Punctuation, ('operation', 'type')),
- (r';', Punctuation, '#pop'),
- ],
- 'dictionary_rest': [
- include('common'),
- (_identifier, Name.Class),
- (r':', Punctuation),
- (r'\{', Punctuation, 'dictionary_body'),
- (r';', Punctuation, '#pop'),
- ],
- 'dictionary_body': [
- include('common'),
- (r'\[', Punctuation, 'extended_attributes'),
- (r'required' + _keyword_suffix, Keyword),
- (r'\}', Punctuation, '#pop'),
- default(('dictionary_item', 'type')),
- ],
- 'dictionary_item': [
- include('common'),
- (_identifier, Name.Variable),
- (r'=', Punctuation, 'default_value'),
- (r';', Punctuation, '#pop'),
- ],
- 'implements_rest': [
- include('common'),
- (r'implements' + _keyword_suffix, Keyword),
- (_identifier, Name.Class),
- (r';', Punctuation, '#pop'),
- ],
- }
+"""
+ pygments.lexers.webidl
+ ~~~~~~~~~~~~~~~~~~~~~~
+
+ Lexers for Web IDL, including some extensions.
+
+ :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS.
+ :license: BSD, see LICENSE for details.
+"""
+
+from pygments.lexer import RegexLexer, default, include, words
+from pygments.token import Comment, Keyword, Name, Number, Punctuation, \
+ String, Text
+
+__all__ = ['WebIDLLexer']
+
+_builtin_types = (
+ # primitive types
+ 'byte', 'octet', 'boolean',
+ r'(?:unsigned\s+)?(?:short|long(?:\s+long)?)',
+ r'(?:unrestricted\s+)?(?:float|double)',
+ # string types
+ 'DOMString', 'ByteString', 'USVString',
+ # exception types
+ 'Error', 'DOMException',
+ # typed array types
+ 'Uint8Array', 'Uint16Array', 'Uint32Array', 'Uint8ClampedArray',
+ 'Float32Array', 'Float64Array',
+ # buffer source types
+ 'ArrayBuffer', 'DataView', 'Int8Array', 'Int16Array', 'Int32Array',
+ # other
+ 'any', 'void', 'object', 'RegExp',
+)
+_identifier = r'_?[A-Za-z][a-zA-Z0-9_-]*'
+_keyword_suffix = r'(?![\w-])'
+_string = r'"[^"]*"'
+
+
+class WebIDLLexer(RegexLexer):
+ """
+ For Web IDL.
+
+ .. versionadded:: 2.6
+ """
+
+ name = 'Web IDL'
+ aliases = ['webidl']
+ filenames = ['*.webidl']
+
+ tokens = {
+ 'common': [
+ (r'\s+', Text),
+ (r'(?s)/\*.*?\*/', Comment.Multiline),
+ (r'//.*', Comment.Single),
+ (r'^#.*', Comment.Preproc),
+ ],
+ 'root': [
+ include('common'),
+ (r'\[', Punctuation, 'extended_attributes'),
+ (r'partial' + _keyword_suffix, Keyword),
+ (r'typedef' + _keyword_suffix, Keyword, ('typedef', 'type')),
+ (r'interface' + _keyword_suffix, Keyword, 'interface_rest'),
+ (r'enum' + _keyword_suffix, Keyword, 'enum_rest'),
+ (r'callback' + _keyword_suffix, Keyword, 'callback_rest'),
+ (r'dictionary' + _keyword_suffix, Keyword, 'dictionary_rest'),
+ (r'namespace' + _keyword_suffix, Keyword, 'namespace_rest'),
+ (_identifier, Name.Class, 'implements_rest'),
+ ],
+ 'extended_attributes': [
+ include('common'),
+ (r',', Punctuation),
+ (_identifier, Name.Decorator),
+ (r'=', Punctuation, 'extended_attribute_rest'),
+ (r'\(', Punctuation, 'argument_list'),
+ (r'\]', Punctuation, '#pop'),
+ ],
+ 'extended_attribute_rest': [
+ include('common'),
+ (_identifier, Name, 'extended_attribute_named_rest'),
+ (_string, String),
+ (r'\(', Punctuation, 'identifier_list'),
+ default('#pop'),
+ ],
+ 'extended_attribute_named_rest': [
+ include('common'),
+ (r'\(', Punctuation, 'argument_list'),
+ default('#pop'),
+ ],
+ 'argument_list': [
+ include('common'),
+ (r'\)', Punctuation, '#pop'),
+ default('argument'),
+ ],
+ 'argument': [
+ include('common'),
+ (r'optional' + _keyword_suffix, Keyword),
+ (r'\[', Punctuation, 'extended_attributes'),
+ (r',', Punctuation, '#pop'),
+ (r'\)', Punctuation, '#pop:2'),
+ default(('argument_rest', 'type'))
+ ],
+ 'argument_rest': [
+ include('common'),
+ (_identifier, Name.Variable),
+ (r'\.\.\.', Punctuation),
+ (r'=', Punctuation, 'default_value'),
+ default('#pop'),
+ ],
+ 'identifier_list': [
+ include('common'),
+ (_identifier, Name.Class),
+ (r',', Punctuation),
+ (r'\)', Punctuation, '#pop'),
+ ],
+ 'type': [
+ include('common'),
+ (r'(?:' + r'|'.join(_builtin_types) + r')' + _keyword_suffix,
+ Keyword.Type, 'type_null'),
+ (words(('sequence', 'Promise', 'FrozenArray'),
+ suffix=_keyword_suffix), Keyword.Type, 'type_identifier'),
+ (_identifier, Name.Class, 'type_identifier'),
+ (r'\(', Punctuation, 'union_type'),
+ ],
+ 'union_type': [
+ include('common'),
+ (r'or' + _keyword_suffix, Keyword),
+ (r'\)', Punctuation, ('#pop', 'type_null')),
+ default('type'),
+ ],
+ 'type_identifier': [
+ (r'<', Punctuation, 'type_list'),
+ default(('#pop', 'type_null'))
+ ],
+ 'type_null': [
+ (r'\?', Punctuation),
+ default('#pop:2'),
+ ],
+ 'default_value': [
+ include('common'),
+ include('const_value'),
+ (_string, String, '#pop'),
+ (r'\[\s*\]', Punctuation, '#pop'),
+ ],
+ 'const_value': [
+ include('common'),
+ (words(('true', 'false', '-Infinity', 'Infinity', 'NaN', 'null'),
+ suffix=_keyword_suffix), Keyword.Constant, '#pop'),
+ (r'-?(?:(?:[0-9]+\.[0-9]*|[0-9]*\.[0-9]+)(?:[Ee][+-]?[0-9]+)?' +
+ r'|[0-9]+[Ee][+-]?[0-9]+)', Number.Float, '#pop'),
+ (r'-?[1-9][0-9]*', Number.Integer, '#pop'),
+ (r'-?0[Xx][0-9A-Fa-f]+', Number.Hex, '#pop'),
+ (r'-?0[0-7]*', Number.Oct, '#pop'),
+ ],
+ 'typedef': [
+ include('common'),
+ (_identifier, Name.Class),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'namespace_rest': [
+ include('common'),
+ (_identifier, Name.Namespace),
+ (r'\{', Punctuation, 'namespace_body'),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'namespace_body': [
+ include('common'),
+ (r'\[', Punctuation, 'extended_attributes'),
+ (r'readonly' + _keyword_suffix, Keyword),
+ (r'attribute' + _keyword_suffix,
+ Keyword, ('attribute_rest', 'type')),
+ (r'const' + _keyword_suffix, Keyword, ('const_rest', 'type')),
+ (r'\}', Punctuation, '#pop'),
+ default(('operation_rest', 'type')),
+ ],
+ 'interface_rest': [
+ include('common'),
+ (_identifier, Name.Class),
+ (r':', Punctuation),
+ (r'\{', Punctuation, 'interface_body'),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'interface_body': [
+ (words(('iterable', 'maplike', 'setlike'), suffix=_keyword_suffix),
+ Keyword, 'iterable_maplike_setlike_rest'),
+ (words(('setter', 'getter', 'creator', 'deleter', 'legacycaller',
+ 'inherit', 'static', 'stringifier', 'jsonifier'),
+ suffix=_keyword_suffix), Keyword),
+ (r'serializer' + _keyword_suffix, Keyword, 'serializer_rest'),
+ (r';', Punctuation),
+ include('namespace_body'),
+ ],
+ 'attribute_rest': [
+ include('common'),
+ (_identifier, Name.Variable),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'const_rest': [
+ include('common'),
+ (_identifier, Name.Constant),
+ (r'=', Punctuation, 'const_value'),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'operation_rest': [
+ include('common'),
+ (r';', Punctuation, '#pop'),
+ default('operation'),
+ ],
+ 'operation': [
+ include('common'),
+ (_identifier, Name.Function),
+ (r'\(', Punctuation, 'argument_list'),
+ (r';', Punctuation, '#pop:2'),
+ ],
+ 'iterable_maplike_setlike_rest': [
+ include('common'),
+ (r'<', Punctuation, 'type_list'),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'type_list': [
+ include('common'),
+ (r',', Punctuation),
+ (r'>', Punctuation, '#pop'),
+ default('type'),
+ ],
+ 'serializer_rest': [
+ include('common'),
+ (r'=', Punctuation, 'serialization_pattern'),
+ (r';', Punctuation, '#pop'),
+ default('operation'),
+ ],
+ 'serialization_pattern': [
+ include('common'),
+ (_identifier, Name.Variable, '#pop'),
+ (r'\{', Punctuation, 'serialization_pattern_map'),
+ (r'\[', Punctuation, 'serialization_pattern_list'),
+ ],
+ 'serialization_pattern_map': [
+ include('common'),
+ (words(('getter', 'inherit', 'attribute'),
+ suffix=_keyword_suffix), Keyword),
+ (r',', Punctuation),
+ (_identifier, Name.Variable),
+ (r'\}', Punctuation, '#pop:2'),
+ ],
+ 'serialization_pattern_list': [
+ include('common'),
+ (words(('getter', 'attribute'), suffix=_keyword_suffix), Keyword),
+ (r',', Punctuation),
+ (_identifier, Name.Variable),
+ (r']', Punctuation, '#pop:2'),
+ ],
+ 'enum_rest': [
+ include('common'),
+ (_identifier, Name.Class),
+ (r'\{', Punctuation, 'enum_body'),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'enum_body': [
+ include('common'),
+ (_string, String),
+ (r',', Punctuation),
+ (r'\}', Punctuation, '#pop'),
+ ],
+ 'callback_rest': [
+ include('common'),
+ (r'interface' + _keyword_suffix,
+ Keyword, ('#pop', 'interface_rest')),
+ (_identifier, Name.Class),
+ (r'=', Punctuation, ('operation', 'type')),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'dictionary_rest': [
+ include('common'),
+ (_identifier, Name.Class),
+ (r':', Punctuation),
+ (r'\{', Punctuation, 'dictionary_body'),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'dictionary_body': [
+ include('common'),
+ (r'\[', Punctuation, 'extended_attributes'),
+ (r'required' + _keyword_suffix, Keyword),
+ (r'\}', Punctuation, '#pop'),
+ default(('dictionary_item', 'type')),
+ ],
+ 'dictionary_item': [
+ include('common'),
+ (_identifier, Name.Variable),
+ (r'=', Punctuation, 'default_value'),
+ (r';', Punctuation, '#pop'),
+ ],
+ 'implements_rest': [
+ include('common'),
+ (r'implements' + _keyword_suffix, Keyword),
+ (_identifier, Name.Class),
+ (r';', Punctuation, '#pop'),
+ ],
+ }