RFC: fully featured language server #270
Replies: 7 comments 1 reply
-
I've started working on this a while back in #203 also worked on it a little bit. It's a long task but I think it can be shipped in parts. The first one probably will be the hover info. |
Beta Was this translation helpful? Give feedback.
-
@gdotdesign do we have an eta for a most basic language server? Undefined getter/setter/method, class members auto-complete, and click to definition would be a wonderful starting point... but I agree, any feature at all would be good to get tooling (such as https://github.com/s0kil/mint-vscode) setup and aligned for future features |
Beta Was this translation helpful? Give feedback.
-
Currently my focus is mint-ui (UI library) and the language server, depending on which I have more motivation at the time. I think the hover provider can be shipped in the first release, which is around 50% complete, so probably in a few weeks (next release). After that we need to figure out which feature of it should get more focus. |
Beta Was this translation helpful? Give feedback.
-
Please ping me when you have a minimal language server that can be incorporated into |
Beta Was this translation helpful? Give feedback.
-
Tracking progress on the features here: https://github.com/mint-lang/mint/blob/language-server/src/ls/README.md So started working on this again and cleaned up and extended what was there. The following features are working but very basic still: CompletionA lot of things are available for completion, there are three parts of it:
FormattingThe formatting command and format on save works (only if the file is valid AST wise): Type information on hoverThe type of any node can be seen on hover: Next StepsFor the next steps will be polishing these features a bit more and then releasing it for the next version. After that we can start implementing new features. How do I test this?You can test this by compiling from source and setting it up in your editor: basically the command to start a language server is I've only tested it in Sublime Text and for that this is the configuration:
And here is the syntax file: What can you do to move this along?
@lukepighetti @s0kil @Namek I'm pinging you because you were interested in this topic. |
Beta Was this translation helpful? Give feedback.
-
I've published a new version of the VSCode extension which supports the language server. Once installed you need to set the path to the binary in the settings for it to work (and maybe restart it): |
Beta Was this translation helpful? Give feedback.
-
Thanks for the update |
Beta Was this translation helpful? Give feedback.
-
Hi there, I'm not sure if this already exists, or if it's in the pipeline, and what stage it's in... but I'm used to working with Dart which has an extremely robust language server that provides click-through support to definitions and also type information with inline documentation on hover. It also provides instant feedback as an IDE error with highlighting if you are trying to access a class member that doesn't exist. Here's a quick gif showing these features.
It would be wonderful if Mint would offer a similar feature set and if we could prioritize a VSCode plugin to handle this functionality.
Beta Was this translation helpful? Give feedback.
All reactions