summaryrefslogtreecommitdiffstats
path: root/venv/lib/python3.9/site-packages/pygments/lexers/procfile.py
diff options
context:
space:
mode:
Diffstat (limited to 'venv/lib/python3.9/site-packages/pygments/lexers/procfile.py')
-rw-r--r--venv/lib/python3.9/site-packages/pygments/lexers/procfile.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/venv/lib/python3.9/site-packages/pygments/lexers/procfile.py b/venv/lib/python3.9/site-packages/pygments/lexers/procfile.py
new file mode 100644
index 00000000..4f9b59c3
--- /dev/null
+++ b/venv/lib/python3.9/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),
+ ],
+ }