onivim / oni

Oni: Modern Modal Editing - powered by Neovim
https://www.onivim.io
MIT License
11.35k stars 299 forks source link

Integrate OCaml/ReasonML language server #389

Open bryphe opened 7 years ago

bryphe commented 7 years ago

Language server here: https://github.com/freebroccolo/ocaml-language-server

Wanted an excuse to learn more about these languages 👍 👍

jordwalke commented 7 years ago

In the ReasonML Discord channel, we consistently hear overwhelmingly positive feedback about @freebroccolo's VSCode plugin and language server.

keforbes commented 7 years ago

Moving back to 0.3 since 0.2.5 was released without this getting merged in, #488. :stuck_out_tongue:

bryphe commented 7 years ago

Merged in the ocaml-language-server integration, since that was blowing up (and most of it was really not specific to ocaml/reason, but just extending out the language server protocol support - since ocaml-language-server is the most complete implementation I've used so far).

A few remaining items I'd like to look at before closing this:

There are also some longer-term items I'd like to look at, potentially outside the scope of this item, like:

dvisztempacct commented 6 years ago

Hi.

My team and I are trying to flesh out our tooling for ReasonML development.

We've used vim, neovim, atom, vscode, and now oni!

I wanted to take a crack at integrating ocaml-language-server formatting for Oni, but since I saw this issue has been open for a while, I thought I'd ask here what's holding it up, or if you have any specific idea about what a good or bad approach might be.

I've had some experience hacking on the same integration for nvim using languageclient-neovim and ocaml-language-server, but from skimming through Oni's source code it seems like you guys are into vscode-languageclient, and maybe that has something to do with the slow movement here?

Let me know!

akinsho commented 6 years ago

@dvisztempacct I think the main hurdle here is that there are quite a few bits of LSP functionality that our ls client doesn't handle yet like formatting, code actions etc. I don't think the vscode client is a particular hurdle (@bryphe) can answer this best but I think it's just an outstanding bit of work which @bryphe started to look at in #974 and #1326 so if you were curious about looking at that I think those PR's would be a good place to start