Open brendanzab opened 6 years ago
I've started messing around with an extension with basic syntax highlighting on my vscode-extension branch. Not sure about whether we'd want to split this out into a separate repo though.
I'm thinking that it might be good to put the extension and client in a separate repo. This might make it easier to version it independently. But I think we should keep the language server implementation in the main Pikelet repo. Feel free to disagree though, I'm curious to hear what people think!
rust-analyzer seems to put the editor support under an editors directory
Here's a nice example of a language server integration test: https://github.com/lark-exploration/lark/pull/98/
@brendanzab thanks for the shoutout -- still trying to figure out a good approach. If you come up with improvements on it, do pass them along π
Oh! Sorry for the ping @jonathandturner, but I guess I'm glad it was appreciated! π
I've been plugging away at my language server on this branch, you may-or-may not find it interesting. connection.rs is interesting, I've been trying to do a clean job of it, with a view to split it out eventually into some sort of crate.
This also links in with #175, which I'm currently mulling over... I've been trying to figure out how Lark is tackling its top level API, but been having a bit of trouble navigating around it, I'm guessing things are still in a bit of flux?
I'm guessing things are still in a bit of flux?
Hehe, yeah definitely. We've got some ideas, and we're just toying around, really.
I'm generally on twitter pretty regularly, though I don't post often these days.
Currently Pikelet is implemented in a very traditional way - ie. it consumes a source string, does some processing, and spits something out. This isn't a very good approach when wanting to support interactive editing, however, but the more more modern, query-driven approaches to language implementation are still sparsley documented.
One way to make some of the requirements for this more concrete is to try our hands at implementing a language server communicating via the LSP to a VS Code extension. This could help direct these efforts, before we accumulate too much tech debt!
Plan
TODO: Improve this plan!
Resources