diff options
author | shadchin <shadchin@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:44:39 +0300 |
commit | e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0 (patch) | |
tree | 64175d5cadab313b3e7039ebaa06c5bc3295e274 /contrib/python/Pygments/py3/pygments/lexers/devicetree.py | |
parent | 2598ef1d0aee359b4b6d5fdd1758916d5907d04f (diff) | |
download | ydb-e9656aae26e0358d5378e5b63dcac5c8dbe0e4d0.tar.gz |
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/python/Pygments/py3/pygments/lexers/devicetree.py')
-rw-r--r-- | contrib/python/Pygments/py3/pygments/lexers/devicetree.py | 206 |
1 files changed, 103 insertions, 103 deletions
diff --git a/contrib/python/Pygments/py3/pygments/lexers/devicetree.py b/contrib/python/Pygments/py3/pygments/lexers/devicetree.py index 05d1b8d239..cb25a330fd 100644 --- a/contrib/python/Pygments/py3/pygments/lexers/devicetree.py +++ b/contrib/python/Pygments/py3/pygments/lexers/devicetree.py @@ -1,108 +1,108 @@ -""" - pygments.lexers.devicetree - ~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Lexers for Devicetree language. - - :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. - :license: BSD, see LICENSE for details. -""" - -from pygments.lexer import RegexLexer, bygroups, include, default, words -from pygments.token import Comment, Keyword, Name, Number, Operator, \ +""" + pygments.lexers.devicetree + ~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Lexers for Devicetree language. + + :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. + :license: BSD, see LICENSE for details. +""" + +from pygments.lexer import RegexLexer, bygroups, include, default, words +from pygments.token import Comment, Keyword, Name, Number, Operator, \ Punctuation, String, Text, Whitespace - -__all__ = ['DevicetreeLexer'] - - -class DevicetreeLexer(RegexLexer): - """ - Lexer for `Devicetree <https://www.devicetree.org/>`_ files. - - .. versionadded:: 2.7 - """ - - name = 'Devicetree' - aliases = ['devicetree', 'dts'] - filenames = ['*.dts', '*.dtsi'] - mimetypes = ['text/x-c'] - - #: optional Whitespace or /*...*/ style comment - _ws = r'\s*(?:/[*][^*/]*?[*]/\s*)*' - - tokens = { - 'macro': [ - # Include preprocessor directives (C style): - (r'(#include)(' + _ws + r')([^\n]+)', - bygroups(Comment.Preproc, Comment.Multiline, Comment.PreprocFile)), - # Define preprocessor directives (C style): - (r'(#define)(' + _ws + r')([^\n]+)', - bygroups(Comment.Preproc, Comment.Multiline, Comment.Preproc)), - # devicetree style with file: - (r'(/[^*/{]+/)(' + _ws + r')("[^\n{]+")', - bygroups(Comment.Preproc, Comment.Multiline, Comment.PreprocFile)), - # devicetree style with property: - (r'(/[^*/{]+/)(' + _ws + r')([^\n;{]*)([;]?)', - bygroups(Comment.Preproc, Comment.Multiline, Comment.Preproc, Punctuation)), - ], - 'whitespace': [ + +__all__ = ['DevicetreeLexer'] + + +class DevicetreeLexer(RegexLexer): + """ + Lexer for `Devicetree <https://www.devicetree.org/>`_ files. + + .. versionadded:: 2.7 + """ + + name = 'Devicetree' + aliases = ['devicetree', 'dts'] + filenames = ['*.dts', '*.dtsi'] + mimetypes = ['text/x-c'] + + #: optional Whitespace or /*...*/ style comment + _ws = r'\s*(?:/[*][^*/]*?[*]/\s*)*' + + tokens = { + 'macro': [ + # Include preprocessor directives (C style): + (r'(#include)(' + _ws + r')([^\n]+)', + bygroups(Comment.Preproc, Comment.Multiline, Comment.PreprocFile)), + # Define preprocessor directives (C style): + (r'(#define)(' + _ws + r')([^\n]+)', + bygroups(Comment.Preproc, Comment.Multiline, Comment.Preproc)), + # devicetree style with file: + (r'(/[^*/{]+/)(' + _ws + r')("[^\n{]+")', + bygroups(Comment.Preproc, Comment.Multiline, Comment.PreprocFile)), + # devicetree style with property: + (r'(/[^*/{]+/)(' + _ws + r')([^\n;{]*)([;]?)', + bygroups(Comment.Preproc, Comment.Multiline, Comment.Preproc, Punctuation)), + ], + 'whitespace': [ (r'\n', Whitespace), (r'\s+', Whitespace), - (r'\\\n', Text), # line continuation - (r'//(\n|[\w\W]*?[^\\]\n)', Comment.Single), - (r'/(\\\n)?[*][\w\W]*?[*](\\\n)?/', Comment.Multiline), - # Open until EOF, so no ending delimeter - (r'/(\\\n)?[*][\w\W]*', Comment.Multiline), - ], - 'statements': [ - (r'(L?)(")', bygroups(String.Affix, String), 'string'), - (r'0x[0-9a-fA-F]+', Number.Hex), - (r'\d+', Number.Integer), - (r'([^\s{}/*]*)(\s*)(:)', bygroups(Name.Label, Text, Punctuation), '#pop'), - (words(('compatible', 'model', 'phandle', 'status', '#address-cells', - '#size-cells', 'reg', 'virtual-reg', 'ranges', 'dma-ranges', - 'device_type', 'name'), suffix=r'\b'), Keyword.Reserved), - (r'([~!%^&*+=|?:<>/#-])', Operator), - (r'[()\[\]{},.]', Punctuation), - (r'[a-zA-Z_][\w-]*(?=(?:\s*,\s*[a-zA-Z_][\w-]*|(?:' + _ws + r'))*\s*[=;])', - Name), - (r'[a-zA-Z_]\w*', Name.Attribute), - ], - 'root': [ - include('whitespace'), - include('macro'), - - # Nodes + (r'\\\n', Text), # line continuation + (r'//(\n|[\w\W]*?[^\\]\n)', Comment.Single), + (r'/(\\\n)?[*][\w\W]*?[*](\\\n)?/', Comment.Multiline), + # Open until EOF, so no ending delimeter + (r'/(\\\n)?[*][\w\W]*', Comment.Multiline), + ], + 'statements': [ + (r'(L?)(")', bygroups(String.Affix, String), 'string'), + (r'0x[0-9a-fA-F]+', Number.Hex), + (r'\d+', Number.Integer), + (r'([^\s{}/*]*)(\s*)(:)', bygroups(Name.Label, Text, Punctuation), '#pop'), + (words(('compatible', 'model', 'phandle', 'status', '#address-cells', + '#size-cells', 'reg', 'virtual-reg', 'ranges', 'dma-ranges', + 'device_type', 'name'), suffix=r'\b'), Keyword.Reserved), + (r'([~!%^&*+=|?:<>/#-])', Operator), + (r'[()\[\]{},.]', Punctuation), + (r'[a-zA-Z_][\w-]*(?=(?:\s*,\s*[a-zA-Z_][\w-]*|(?:' + _ws + r'))*\s*[=;])', + Name), + (r'[a-zA-Z_]\w*', Name.Attribute), + ], + 'root': [ + include('whitespace'), + include('macro'), + + # Nodes (r'([^/*@\s&]+|/)(@?)((?:0x)?[0-9a-fA-F,]*)(' + _ws + r')(\{)', - bygroups(Name.Function, Operator, Number.Integer, - Comment.Multiline, Punctuation), 'node'), - - default('statement'), - ], - 'statement': [ - include('whitespace'), - include('statements'), - (';', Punctuation, '#pop'), - ], - 'node': [ - include('whitespace'), - include('macro'), - + bygroups(Name.Function, Operator, Number.Integer, + Comment.Multiline, Punctuation), 'node'), + + default('statement'), + ], + 'statement': [ + include('whitespace'), + include('statements'), + (';', Punctuation, '#pop'), + ], + 'node': [ + include('whitespace'), + include('macro'), + (r'([^/*@\s&]+|/)(@?)((?:0x)?[0-9a-fA-F,]*)(' + _ws + r')(\{)', - bygroups(Name.Function, Operator, Number.Integer, - Comment.Multiline, Punctuation), '#push'), - - include('statements'), - - (r'\};', Punctuation, '#pop'), - (';', Punctuation), - ], - 'string': [ - (r'"', String, '#pop'), - (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|' - r'u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})', String.Escape), - (r'[^\\"\n]+', String), # all other characters - (r'\\\n', String), # line continuation - (r'\\', String), # stray backslash - ], - } + bygroups(Name.Function, Operator, Number.Integer, + Comment.Multiline, Punctuation), '#push'), + + include('statements'), + + (r'\};', Punctuation, '#pop'), + (';', Punctuation), + ], + 'string': [ + (r'"', String, '#pop'), + (r'\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|' + r'u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|[0-7]{1,3})', String.Escape), + (r'[^\\"\n]+', String), # all other characters + (r'\\\n', String), # line continuation + (r'\\', String), # stray backslash + ], + } |