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

TLB syntax support for neovim #848

Open
nickshatilo opened this issue Oct 14, 2024 · 5 comments
Open

TLB syntax support for neovim #848

nickshatilo opened this issue Oct 14, 2024 · 5 comments
Assignees
Labels
Approved This proposal is approved by the committee Developer Tool Related to tools or utilities used by developers

Comments

@nickshatilo
Copy link

nickshatilo commented Oct 14, 2024

Summary

There is TLB syntax support in func plugin for intelleji IDEs, but not for neovim, zed etc. The goal is to add this support.

Context

Currently when using neovim, there is only syntax highlighting for func, but when editing func code it is very helpful to have proper TLB schemes in place, i.e in comments, or TLB files.

They also could be used to generate parsers for them using other tools.

This is also good for feature parity across different editors, so the ecosystem support is diverse.

References

JetBrains IDEs support
TLB parser
TLB docs

Estimate suggested reward

reward: $2000
time needed: 7-10 days

@nickshatilo nickshatilo added the Developer Tool Related to tools or utilities used by developers label Oct 14, 2024
@novusnota
Copy link
Contributor

neovim, zed, etc.

This etc. is rather ambiguous — do you mean a Tree-sitter parser and queries per each editor that supports it? Also, while Neovim's setup of the tree-sitter is quite simple, for Zed you have to write your own little extension in Rust :)

@nickshatilo
Copy link
Author

For now I only meant to create a tree-sitter parser + bindings for neovim, including to add it into https://github.com/nvim-treesitter/nvim-treesitter so it's easy installable.

But the tree-sitter grammar could be then re-used for editors like zed, since they also support it.

@novusnota
Copy link
Contributor

novusnota commented Oct 17, 2024

@nickshatilo Incidentally, I've been writing Tree-sitter parser for TL-B in my free time for quite a while and will publish it this week. So we can compare implementations, if you have one already :)

However, making a Neovim or Zed package would still be on the list of nice things to do, and I believe your proposal (and, if it gets accepted, your future work) may address those!

UPD: Polishing the final implementation, got to squash a bug or two :)

@nickshatilo
Copy link
Author

I have some implementation that works already, it's quite junky as of me but would be happy to refine it make it a public good!

@delovoyhomie delovoyhomie added the Approved This proposal is approved by the committee label Oct 18, 2024
@delovoyhomie
Copy link
Collaborator

@nickshatilo, the bounty has been approved! Could you please reach out to me via DM for further communication? https://t.me/delovoyslava

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved This proposal is approved by the committee Developer Tool Related to tools or utilities used by developers
Projects
None yet
Development

No branches or pull requests

3 participants