eric6/ThirdParty/Pygments/pygments/lexers/webidl.py

changeset 7701
25f42e208e08
parent 7547
21b0534faebc
child 7983
54c5cfbb1e29
diff -r a3cf077a8db3 -r 25f42e208e08 eric6/ThirdParty/Pygments/pygments/lexers/webidl.py
--- a/eric6/ThirdParty/Pygments/pygments/lexers/webidl.py	Tue Sep 15 18:46:58 2020 +0200
+++ b/eric6/ThirdParty/Pygments/pygments/lexers/webidl.py	Tue Sep 15 19:09:05 2020 +0200
@@ -1,297 +1,299 @@
-# -*- coding: utf-8 -*-
-"""
-    pygments.lexers.webidl
-    ~~~~~~~~~~~~~~~~~~~
-
-    Lexers for Web IDL, including some extensions.
-
-    :copyright: Copyright 2006-2016 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][0-9A-Z_a-z-]*'
-_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, '#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'),
-        ],
-    }
+# -*- coding: utf-8 -*-
+"""
+    pygments.lexers.webidl
+    ~~~~~~~~~~~~~~~~~~~~~~
+
+    Lexers for Web IDL, including some extensions.
+
+    :copyright: Copyright 2006-2020 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'),
+        ],
+    }

eric ide

mercurial