diff options
Diffstat (limited to 'venv/lib/python3.11/site-packages/pygments/lexers/procfile.py')
-rw-r--r-- | venv/lib/python3.11/site-packages/pygments/lexers/procfile.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/venv/lib/python3.11/site-packages/pygments/lexers/procfile.py b/venv/lib/python3.11/site-packages/pygments/lexers/procfile.py new file mode 100644 index 0000000..4f9b59c --- /dev/null +++ b/venv/lib/python3.11/site-packages/pygments/lexers/procfile.py @@ -0,0 +1,42 @@ +""" + pygments.lexers.procfile + ~~~~~~~~~~~~~~~~~~~~~~~~ + + Lexer for Procfile file format. + + :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. + :license: BSD, see LICENSE for details. +""" + +from pygments.lexer import RegexLexer, bygroups +from pygments.token import Name, Number, String, Text, Punctuation + +__all__ = ["ProcfileLexer"] + + +class ProcfileLexer(RegexLexer): + """ + Lexer for Procfile file format. + + The format is used to run processes on Heroku or is used by Foreman or + Honcho tools. + + .. versionadded:: 2.10 + """ + name = 'Procfile' + url = 'https://devcenter.heroku.com/articles/procfile#procfile-format' + aliases = ['procfile'] + filenames = ['Procfile'] + + tokens = { + 'root': [ + (r'^([a-z]+)(:)', bygroups(Name.Label, Punctuation)), + (r'\s+', Text.Whitespace), + (r'"[^"]*"', String), + (r"'[^']*'", String), + (r'[0-9]+', Number.Integer), + (r'\$[a-zA-Z_][\w]*', Name.Variable), + (r'(\w+)(=)(\w+)', bygroups(Name.Variable, Punctuation, String)), + (r'([\w\-\./]+)', Text), + ], + } |