Skip to content
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

Change official YAML parser #3005

Closed
LuisPatino92 opened this issue Feb 12, 2024 · 4 comments
Closed

Change official YAML parser #3005

LuisPatino92 opened this issue Feb 12, 2024 · 4 comments
Labels

Comments

@LuisPatino92
Copy link

Problem

In the Introduction/parsers section of the Tree-Sitter documentation, this repository is referenced as the official YAML parser. However, this repository appears to be abandoned by its maintainers, with its last PR dating back to May 2021 and numerous issues and PRs left unattended.

Additionally, according to a comment on this issue, the parser was implemented without focusing on recovery when the YAML file is in an invalid state. This approach may explain errors such as the one reported in this issue, where the Playground does not function correctly.

Steps to reproduce

Follow the link related in https://tree-sitter.github.io/tree-sitter/ for YAML in parsers section and check the state of the repository.

Expected behavior

It would be great if on the Tree-Sitter landing page we recognize FluidAttacks' fork as the official YAML parser.

This fork was based on the currently recognized official repository and has made some independent changes that favor the quality of parsing. However, not being the official version causes this fork to diverge from the one widely adopted by the community.

Fluid Attacks is committed to the Open Source philosophy and has its own open-source projects such as: Makes and Universe.

Fluid wants to start maintaining this YAML parser and continue building on what ikatyang has already built, with the goal of working together with the community on a robust and constantly evolving version of this project.

Initially, we would seek to reduce technical debt. At the moment, many tests fail, and we have identified a critical failure (we are already working on that).

Subsequently, our intention would be to improve recovery in the face of invalid states.

Thanks!

Tree-sitter version (tree-sitter --version)

tree-sitter 0.20.8

Operating system/version

Linux (Ubuntu 23.04)

@clason
Copy link
Contributor

clason commented Feb 12, 2024

That parser is still using a C++ scanner, which is unacceptable. There's a new fork being worked on in tree-sitter-grammars.

(But in general, there's no point in fighting over front page coverage here. It doesn't earn anyone any privileges.)

@LuisPatino92
Copy link
Author

Hello @clason, thank you for your prompt response!

Could you please clarify the following for me, when you mention "There's a new fork being worked on in tree-sitter-grammars", are you referring to another project for tree-sitter-yaml that is active and is implementing the scanner in C? If so, could you share the link to that project with me? I haven't been able to find it.

I believe the parser listed on the Tree-Sitter landing page does have an effect on where the community's efforts are directed, as it is likely to attract issues and PRs. Therefore, it is not advisable to point to an abandoned project.

To illustrate the point further, I've encountered many issues in various projects, such as this one: quarto-dev/quarto-cli#2737. This indicates that there is an intention within the community to collaborate on a single project, typically the one recognized on the Tree-Sitter landing page. However, due to the lack of responsiveness from maintainers in approving issues and PRs, separate forks are created where efforts are invested independently.

Thanks!

@dundargoc
Copy link
Member

If so, could you share the link to that project with me? I haven't been able to find it.

Unsure if it's public yet. I think @amaanq is working on it. He might be able to provide more context.

@LuisPatino92
Copy link
Author

Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants