-
Notifications
You must be signed in to change notification settings - Fork 311
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
Perl parser should be switched out #667
Comments
I disagree: the parser I'm currently using is actively maintained and the maintainer has been helpful when I've sent build fixes. I'm not necessarily opposed to changing parsers, but how is yours better? |
While I'm not qualified to compare the available tree-sitter-perl implementations on technological terms, I'd like to add a "staffing" and "activity" detail. tree-sitter-perl/tree-sitter-perl gets updated by a Perl core maintainer, including support for new features added to Perl itself in every release each year, and that person is also the author of Text::Treesitter, the "Perl bindings for tree-sitter". As a long-term Perl user I find this a strong indicator of high quality solution with minimal-to-no lag from Perl capabilities. Even then, I was only aware of the above, and I'm somewhat surprised there are multiple (competing?) tree-sitter-perl implementations, and I would also like to learn about the differences between them. |
I can't really speak about the other parser; I had begun to work with him
several years ago and found that at that time there were fundamentally
wrong decisions made - he passed fat commas as always part of a pair, he
had explicit semicolon nodes.
I'm not sure if the other parser supports them, but here's a list of some
of the crazier (in terms of how ppl perceive these to be difficult to
parse; most are fairly common) stuff mine supports - completely correct
autoquoting (fat commas and minus and hash-key), Unicode identifiers in all
places (including heredocs), new perl syntax (try/catch, class syntax),
insane quoting constructs ( proper handling of q = words = vs q => words "
and q#this is a quote#, three part quotes with comments [that's a thing!],
soon will implement Unicode paired delimiters which is being marked
stable), space sensitivity for interpolated variables (bc "$ thing" still
interpolates!)
There are clearly bugs in the other one, I just received a strange bug
report about a fairly simple regex (on mobile, can't get the issue number)
that my parser did fine with.
…On Wed, May 8, 2024, 00:15 Ferenc Erki ***@***.***> wrote:
While I'm not qualified to compare the available tree-sitter-perl
implementations on technological terms, I'd like to add a "staffing" and
"activity" detail.
tree-sitter-perl/tree-sitter-perl
<https://github.com/tree-sitter-perl/tree-sitter-perl> gets updated by a
Perl core maintainer, including support for new features added to Perl
itself in every release each year, and that person is also the author of
Text::Treesitter <https://metacpan.org/pod/Text::Treesitter>, the "Perl
bindings for tree-sitter". As a long-term Perl user I find this a strong
indicator of high quality solution with minimal-to-no lag from Perl
capabilities.
Even then, I was only aware of the above, and I'm somewhat surprised there
are multiple (competing?) tree-sitter-perl implementations, and I would
also like to learn about the differences between them.
—
Reply to this email directly, view it on GitHub
<#667 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFURPKS3256A6PMCVYAFARTZBE76XAVCNFSM6AAAAABFCJJSH2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOJZGMZDEMJSGQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Thanks for reporting a bug! Please include all of the following:
The upstream perl parser is unmaintained and very bad. I maintain a much better parser, https://github.com/tree-sitter-perl/tree-sitter-perl
I would love to do whatever work to get this switched, just I don't know what the steps are to update a parser in this repo.
The text was updated successfully, but these errors were encountered: