[ANN] New releases of Merlin and OCaml-LSP for OCaml 5.5 and trunk

I am glad to announce Merlin 5.8.1-505, a new release that notably fixes a caching issue that manifested frequently when using OCaml-LSP with Dune in watch mode.

We also released preview versions of both Merlin and OCaml-LSP working with today’s OCaml compiler’s trunk. You can use them to hack on the compiler, but they will break again with futures changes to the types AST.

I love it! :heart_eyes: I wanted to ask if you still support the object-oriented layer. Sometimes, I really want to use this part of OCaml, but it also causes problems with DX in those tools.

We do support it, but these parts have been a bit neglected in the past and we are not heavy users of the O ourselves. Please open an issue (usually on Merlin’s github repository) when you stumble onto a DX issue !

I also fixed a bunch of object-related issues recently, I think it was part of Merlin 5.7.0-504.

Hi @vds!

Hijacking the thread :smiley:. Is it feasible today to have ocaml lsp auto qualify functions or create functions on Unbound value or Unbound module issues.

I commented my thoughts on what an MVP of import fix code actions in this github issue. It’s a hard feature, such that typescript is still figuring out the best implementation for auto-import in TS v7.

I can imagine a bunch of blockers already.

  1. Does merlin provide some type search over modules given some value name?
  2. If merlin can provide such suggestions, can merlin type-check the options without having to edit & save the editor’s buffer?
  3. I don’t even know where to start to understand the complexity of dune and its module system.
  4. How to even rank the suggestions?

Happy to explore this!