From 02b11348501cef1699c405c6c97fa61e5c529d2c Mon Sep 17 00:00:00 2001 From: PixieDust <111846546+PizieDust@users.noreply.github.com> Date: Mon, 15 Jul 2024 10:39:01 +0100 Subject: [PATCH] Add changelog for the latest ocaml-lsp release (#2593) Co-authored-by: Christine Rose --- .../ocaml-lsp/2024-07-11-ocaml-lsp-1.18.0.md | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 data/changelog/ocaml-lsp/2024-07-11-ocaml-lsp-1.18.0.md diff --git a/data/changelog/ocaml-lsp/2024-07-11-ocaml-lsp-1.18.0.md b/data/changelog/ocaml-lsp/2024-07-11-ocaml-lsp-1.18.0.md new file mode 100644 index 0000000000..eebf2274e7 --- /dev/null +++ b/data/changelog/ocaml-lsp/2024-07-11-ocaml-lsp-1.18.0.md @@ -0,0 +1,87 @@ +--- +title: OCaml-LSP 1.18.0 +tags: [ocaml-lsp, platform] +changelog: | + ## Features + + - Introduce a configuration option to control Dune diagnostics. The option is called `duneDiganostics`, and it may be set to `{ enable: false }` to disable diagnostics. (ocaml/ocaml-lsp#1221) + + - Support folding of `ifthenelse` expressions (ocaml/ocaml-lsp#1031) + + - Improve hover behavior (ocaml/ocaml-lsp#1245) + + Hovers are no longer displayed on useless parse tree nodes such as keywords, comments, etc. + + Multiline hovers are now filtered away. + + Display expanded PPXs in the hover window. + + - Improve document symbols (ocaml/ocaml-lsp#1247) + + Use the parse tree instead of the typed tree. This means that document + symbols will work even if the source code doesn't type check. + + Include symbols at arbitrary depth. + + Differentiate functions / types / variants / etc. + + This now includes PPXs like `let%expect_test` or `let%bench` in the outline. + + - Introduce a `destruct-line` code action. This is an improved version of the + old `destruct` code action. (ocaml/ocaml-lsp#1283) + + - Improve signature inference to only include types for elements that were + absent from the signature. Previously, all signature items would always be + inserted. (ocaml/ocaml-lsp#1289) + + - Add an `update-signature` code action to update the types of elements that + were already present in the signature (ocaml/ocaml-lsp#1289) + + - Add custom + [`ocamllsp/merlinCallCompatible`](https://github.com/ocaml/ocaml-lsp/blob/e165f6a3962c356adc7364b9ca71788e93489dd0/ocaml-lsp-server/docs/ocamllsp/merlinCallCompatible-spec.md) + request (ocaml/ocaml-lsp#1265) + + - Add custom [`ocamllsp/typeEnclosing`](https://github.com/ocaml/ocaml-lsp/blob/109801e56f2060caf4487427bede28b824f4f1fe/ocaml-lsp-server/docs/ocamllsp/typeEnclosing-spec.md) request (ocaml/ocaml-lsp#1304) + + + ## Fixes + + - Detect document kind by looking at Merlin's `suffixes` config. + + This enables more LSP features for non-`.ml/.mli` files. Though it still + depends on Merlin's support. (ocaml/ocaml-lsp#1237) + + - Correctly accept the `--clientProcessId` flag. (ocaml/ocaml-lsp#1242) + + - Disable automatic completion and signature help inside comments (ocaml/ocaml-lsp#1246) + + - Includes a new optional/configurable option to toggle syntax documentation. If + toggled on, allows display of syntax documentation on hover tooltips. Can be + controlled via environment variables and by GUI for VS code. (ocaml/ocaml-lsp#1218) + + - For completions on labels that the LSP gets from Merlin, take into account + whether the prefix being completed starts with `~` or `?`. Change the label + completions that start with `?` to start with `~` when the prefix being + completed starts with `~`. (ocaml/ocaml-lsp#1277) + + - Fix document syncing (ocaml/ocaml-lsp#1278, ocaml/ocaml-lsp#1280, fixes ocaml/ocaml-lsp#1207) + + - Stop generating inlay hints on generated code (ocaml/ocaml-lsp#1290) + + - Fix parenthesising of function types in `SignatureHelp` (ocaml/ocaml-lsp#1296) + + - Fix syntax documentation rendering (ocaml/ocaml-lsp#1318) +--- + +We are pleased to announce the release of OCaml LSP 1.18.0. This version comes with a lot of fixes and new features. + +Notable features that are included in this release are: +- Improved hover behavior with less noisy hovers on some parse tree nodes such as keywords, comments, etc., along with support for hovering over PPX annotations and preview the generated code. +- Some additional custom queries, particularly `TypeEnclosing` +- Folding `ifthenelse` expressions +- A new configuration option to control Dune diagnostics +- Improved document symbols + +...and many fixes to a handful of issues. + +Feedback is very much welcomed on the the [Discuss Announcement](https://discuss.ocaml.org/t/ann-ocaml-lsp-1-18-0/14952) post and do not hesistate to report issues in the [issue tracker](https://github.com/ocaml/ocaml-lsp/issues).