diff options
author | Devtools Arcadia <[email protected]> | 2022-02-07 18:08:42 +0300 |
---|---|---|
committer | Devtools Arcadia <[email protected]> | 2022-02-07 18:08:42 +0300 |
commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/python/Pygments/py3/pygments/lexers/srcinfo.py |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/python/Pygments/py3/pygments/lexers/srcinfo.py')
-rw-r--r-- | contrib/python/Pygments/py3/pygments/lexers/srcinfo.py | 57 |
1 files changed, 57 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 00000000000..8bc0f88e56a --- /dev/null +++ b/contrib/python/Pygments/py3/pygments/lexers/srcinfo.py @@ -0,0 +1,57 @@ +""" + 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-2021 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'), + ], + } |