-
Notifications
You must be signed in to change notification settings - Fork 129
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
Convenient packaging solution for existing Tact and FunC language servers #352
Comments
@anton-trunov @delovoyhomie Ready to get assigned, as my work on #302 will be completed in about one and a half weeks from now |
It would be great if the deliverables included refactoring of the https://github.com/tact-lang/tact-vscode to use the packaged solution. As tact-vscode maintainers, what do you think @logvik and @pizza-777? |
@anton-trunov Oh, that'll make it a very different proposal. The thing I was intended to do was similar in spirit to vscode-langservers-extracted and not to the rather big refactor of tact-vscode, which probably has to be done not by me, but by the respective maintainers of the extension: @logvik and @pizza-777. |
Hmm, I'd very much like the packaged solution and the one from tact-vscode stay in sync. |
They will stay in sync in the sense that packaged solution would be automatically updated every time tact-vscode is, making the extension the main thing and this project its subsidiary :) |
That sounds good to me, thanks. Let's wait for the input from the VS Code plugin team, though. |
@delovoyhomie Submitted a Questbook proposal for this task. Submission deadline is set to 12th of November, 2023. Will deliver results right after completion of #302. |
Will I be able to use a repackaged version with nvim-lspconfig? |
Yes, I'll send them a PR :) |
Hi @novusnota, any updates here? |
Hey @novusnota, sorry for pinging you one more time about the LSP packaging for Neovim, Emacs, Helix, etc. We are going to have a new Tact contest in about a month now, so it would be really cool to provide it to our contestants |
@anton-trunov No worries, thanks for pinging. I'll post an update here this or next week and finish the task. |
Tact LS: ✔️ Packed Install it via
Will pack FunC LS today, then start gradually sending PRs to:
|
FunC LS: ✔️ Packed Install it via
That concludes the bounty! Now, I'll proceed to send PRs to ease configuration as described in #352 (comment) |
@delovoyhomie all done!
|
Great job @novusnota! As always :) |
Summary
Convenient packaging solution for existing Tact and FunC language servers (of LSP specification), which are currently tightly integrated into their respective VSCode extensions: Tact, FunC.
The end-result should be available for use in any editor or IDE with language server client available, such as: Neovim, Emacs, Helix, Zed, etc.. Simple-to-use documentation on installation and usage of the re-packaged language servers has to be provided as well.
Context
The Language Server protocol (LSP) is used between a tool (the client) and a language smartness provider (the server) to integrate features like auto complete, go to definition, find all references and alike into the tool.
Existing official VSCode extensions for Tact and FunC language have implemented language servers according to the LSP, which currently are only used from within the VSCode contexts. However, its absolutely possible to extract and re-package them as a Node.js script bundles, which then can be distributed using NPM Registry and easily accessible from any editors and IDEs with LSP client available. This would consolidate TON developers into using the upstream, official language server implementations and allow for streamlined bugfixes and improvements of the upstream extensions.
Deliverables:
References
Estimate suggested reward
Total: $400
The text was updated successfully, but these errors were encountered: