groovy lexer: detect quoted function names #1765
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Should fix #1753. I don't have a VM with Python set up in a way where I can easily test this, so I am depending on the tests in CI.
In Groovy it is valid to have a function name which is a quoted string. Single quote (
'
), double quote ("
) and the triple-single/triple-double formats are all allowed, but I suspect most people only use standard single or double. In most syntax highlighters the quoted function name is displayed as if it were a string (e.g. https://groovyconsole.appspot.com/), which perhaps we could also do by switching the priority to parse strings before function declarations. But since we already detect a function name here, I just try to expand the pattern a little bit to match the quoted string as a function name too.While we are here, also fix a bug where sometimes keywords would be interpreted as function names (already fixed in Java lexer).