diff options
author | nkozlovskiy <nmk@ydb.tech> | 2023-09-29 12:24:06 +0300 |
---|---|---|
committer | nkozlovskiy <nmk@ydb.tech> | 2023-09-29 12:41:34 +0300 |
commit | e0e3e1717e3d33762ce61950504f9637a6e669ed (patch) | |
tree | bca3ff6939b10ed60c3d5c12439963a1146b9711 /contrib/python/Pygments/py3/pygments/lexers/srcinfo.py | |
parent | 38f2c5852db84c7b4d83adfcb009eb61541d1ccd (diff) | |
download | ydb-e0e3e1717e3d33762ce61950504f9637a6e669ed.tar.gz |
add ydb deps
Diffstat (limited to 'contrib/python/Pygments/py3/pygments/lexers/srcinfo.py')
-rw-r--r-- | contrib/python/Pygments/py3/pygments/lexers/srcinfo.py | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/contrib/python/Pygments/py3/pygments/lexers/srcinfo.py b/contrib/python/Pygments/py3/pygments/lexers/srcinfo.py new file mode 100644 index 0000000000..c4da88b105 --- /dev/null +++ b/contrib/python/Pygments/py3/pygments/lexers/srcinfo.py @@ -0,0 +1,62 @@ +""" + pygments.lexers.srcinfo + ~~~~~~~~~~~~~~~~~~~~~~~ + + Lexers for .SRCINFO files used by Arch Linux Packages. + + The description of the format can be found in the wiki: + https://wiki.archlinux.org/title/.SRCINFO + + :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. + :license: BSD, see LICENSE for details. +""" + +from pygments.lexer import RegexLexer, words +from pygments.token import Text, Comment, Keyword, Name, Operator, Whitespace + +__all__ = ['SrcinfoLexer'] + +keywords = ( + 'pkgbase', 'pkgname', + 'pkgver', 'pkgrel', 'epoch', + 'pkgdesc', 'url', 'install', 'changelog', + 'arch', 'groups', 'license', 'noextract', 'options', 'backup', + 'validpgpkeys', +) + +architecture_dependent_keywords = ( + 'source', 'depends', 'checkdepends', 'makedepends', 'optdepends', + 'provides', 'conflicts', 'replaces', + 'md5sums', 'sha1sums', 'sha224sums', 'sha256sums', 'sha384sums', + 'sha512sums', +) + + +class SrcinfoLexer(RegexLexer): + """Lexer for .SRCINFO files used by Arch Linux Packages. + + .. versionadded:: 2.11 + """ + + name = 'Srcinfo' + aliases = ['srcinfo'] + filenames = ['.SRCINFO'] + + tokens = { + 'root': [ + (r'\s+', Whitespace), + (r'#.*', Comment.Single), + (words(keywords), Keyword, 'assignment'), + (words(architecture_dependent_keywords, suffix=r'_\w+'), + Keyword, 'assignment'), + (r'\w+', Name.Variable, 'assignment'), + ], + 'assignment': [ + (r' +', Whitespace), + (r'=', Operator, 'value'), + ], + 'value': [ + (r' +', Whitespace), + (r'.*', Text, '#pop:2'), + ], + } |