What happened to https://github.com/freebroccolo/ocaml-language-server?

It looks like the owner deleted his account?

BTW this is the OCaml Language Server used by this VS Code extension. I know there is a newer language server and extension written in pure Reason and a merlin-based LSP is also WIP, but AFAIK there are still quite some people (mostly plain OCaml users) using the old extension. There have also been some recent enhancements (like integration with ocamlformat) that I want to try out.

1 Like

That’s … concerning. I hope Darin is all right.

The repo redirects to a fork: https://github.com/reasonml-editor/vscode-reasonml

But then there’s this: https://github.com/reasonml-editor/vscode-reasonml/commit/8745b53c046e8bf857fa258ad1cb545fba81beaa, so it seems that this one is abandoned as well.

His Twitter account seems to be gone as well.

Would be nice to have a proper OCaml LSP, not the dialect-based one. Bad news :frowning:

Reason-vscode supports standard OCaml syntax as well. I’m sure contributions are welcome to help with bugs/features/etc.

Yes, but it is not written in OCaml itself, which makes the infrastructure “insustainable”.

There’s an LSP server that’s builtin with merlin. It’s not yet released, but I would certainly recommend over anything else at the moment. With time, it will surely become the standard.

2 Likes

It doesn’t support OCaml 4.09 yet though.

2 Likes

And I can’t mention that merlin-lsp 4.08 seems to be very buggy (hover over variable detects it’s location wrong and doesn’t work as expected. Test in VSCode but I’m sure that it is a problem of backend).

Both the language server and the extension have been officially unmaintained for a while now, but there has still been some community-driven enhancements.

I have tried merlin-lsp. It has some rough edges, but works for the most part. The biggest drawback is that it requires a custom build of merlin, so I cannot really recommend it to casual OCaml users (yet).

Yes, it is written in OCaml (Reason syntax): https://github.com/jaredly/reason-language-server .

Please open issues about rough edges you’ve encountered!

Btw. the setup is as simple as adding:

"devDependencies": {"@opam/merlin-lsp": "ocaml/merlin:merlin-lsp.opam"}

to esy.json (or package.json). Or using opam pin.

1 Like

Can you open an issue with (the repro preferably) about this? Does merlin (w/o LSP frontend) behave the same in this exact situation?

Thanks, good to know. BTW is there any concern about publishing the current version to opam? I think it will make adoption much easier.

2 Likes

I was thinking we could polish it more and also build a VsCode extension first. Though it’s in a pretty usable form already (in my experience).

Just in case there is a ocaml-language-server fork, I guess. There are basically no info about that project, so it also may go away at any time.

Thank you. Terrible news but hopefully he is getting better.

I have uploaded a fork of the old language server at https://github.com/ocaml-lsp/ocaml-language-server.

If people are still actively using that server and would like to see it maintained I am willing to continue working on it as long as I have time and resources to do so.

At the moment I could really use some help from the community with project maintenance.

I haven’t been a very active OCaml/Reason user lately so I don’t really know the best place to post about this, but if anyone would be interested in helping with issue triage and CI and merging PRs and stuff like that, please let me know and I will be happy to add you.

4 Likes

This is might be exactly a good project for ocaml-community organization.