-
Notifications
You must be signed in to change notification settings - Fork 662
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add procfile lexer #1808
Add procfile lexer #1808
Conversation
Thanks for the contribution. Can you please add an example file with golden test output (see https://github.com/pygments/pygments/blob/master/Contributing.md for details)? This also seems to add a spurious |
@Anteru Thank you for the quick review!
|
pygments/lexers/procfile.py
Outdated
(r'[0-9.]+', Number), | ||
(r'\$[a-zA-Z_][\w]*', Name.Variable), | ||
(r'(\w+)(=)(\w+)', bygroups(Name.Variable, Punctuation, String)), | ||
(r'([\w\s\-\./])', Text), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you want a +
in here. Right now this matches each individual letter as a single token as you can see in the output, and I doubt that's what you're after. Additionally, this matches whitespace -- I'd suggest a separate rule for whitespace (and using the right token type for whitespace.) In that case you need to match whitespace first because you have a dot in this rule (which I hope is intentional :) )
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I modified it: there are now 2 patterns. One for Whitespace
and one for Text
. These two patterns end with +
.
Is it good for you?
pygments/lexers/procfile.py
Outdated
(r'^([a-z]+)(:)', bygroups(Name.Label, Punctuation)), | ||
(r'"[^"]*"', String), | ||
(r"'[^']*'", String), | ||
(r'[0-9.]+', Number), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will match ..9..
as a number -- is that intentional? Could you please add a number into your Procfile example?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added a basic number in Procfile file and removed the dot from the regular expression so it detects Number.Integer
. I think it's good enough because I doubt someone use float number in commands. It is ok for you?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not great but I guess it'll do for now. I assume people will try to highlight valid Procfiles with it :)
Merged, thanks! |
This PR adds Procfile lexer with very basic unit tests.