[ANN] Release of ocaml-eglot 1.2.0

We (at Tarides) are particularly pleased to announce the release of OCaml-eglot 1.2.0, An overlay on Eglot (the built-in LSP client for Emacs) for editing OCaml!

ocaml-eglot is an alternative mode to merlin which uses ocaml-lsp-server (instead of ocamlmerlin) as the language server. So yes, if you decide to useocaml-eglot, merlin is no longer needed. (Merlin is still used as a library, in ocaml-lsp-server).

This version discreetly improves the ergonomics of certain orders, gives more control over customer-side order support and drastically improves error handling! Here’s the full changelog and, in the meantime, I’m adding the changelog for version 1.1.0, which hadn’t been announced:

1.2.0

  • Fix Type-enclosing’s buffer update when using caml-mode (#48)
  • Add ocaml-eglot-search-definition, ocaml-eglot-search-declaration and alternative functions (#45)
  • Fix some warnings on byte-compilation (#40)
  • Fix error on on ocaml-eglot-construct (#42)
  • ocaml-eglot-alternate-file now visits file in other window when prefix argument is set (#51)
  • Add error-handling for jsonrpc-request (#52)
  • Maintain more diagnostics for location failure (#52)
  • Fix hole cycle navigation (#53)
  • Relay on custom request (if it is available) for managing holes (#53)
  • Implementation of support for experimental client commands (and implementation of ocaml.next-hole in the presence of the ocaml-eglot-destruct action) (#54)

1.1.0

  • A first support for flycheck (#29, #33 and #37)
  • Use a more efficient way to ensure that a vector is empty (#27)
  • Made the mode-line “lighter” more conventional (#26)

Spotlight on new features

Two easily observable features:

Finding an identifier

  • ocaml-eglot-find-identifier-declaration
  • ocaml-eglot-find-identifier-definition

the two commands behave like their analogues (ocaml-eglot-find-definition and ocaml-eglot-find-declaration) but allow the user to enter the identifier directly:

eglot-search-ident-def-decl

Searching for a definition or a declaration

  • ocaml-eglot-search-declaration
  • ocaml-eglot-search-definition

Allows you to search by type or polarity to find the definition (implementation) or declaration (signature) of values!

eglot-search-def-decl

Upgrading

The release is available on MELPA, so you can update it using the usual process. As always, your feedback is invaluable!

Happy hacking

10 Likes