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.
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.
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.
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.
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.
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.