Skip to content

Releases: ocaml/ocaml-lsp

1.20.1-4.14

02 Dec 13:17
40c5106
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Deactivate the jump code actions by default. Clients can enable them with
    the merlinJumpCodeActions configuration option. Alternatively a custom
    request is provided for ad hoc use of the feature. (#1411)

1.20.1

02 Dec 13:19
4c57c6a
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Deactivate the jump code actions by default. Clients can enable them with
    the merlinJumpCodeActions configuration option. Alternatively a custom
    request is provided for ad hoc use of the feature. (#1411)

1.20.0-4.14

29 Nov 15:58
83cdcd6
Compare
Choose a tag to compare

CHANGES:

Features

Fixes

  • Fix fd leak in running external processes for preprocessing (#1349)

  • Fix prefix parsing for completion of object methods (#1363, fixes #1358)

  • Remove some duplicates in the selectionRange answers (#1368)

1.20.0

29 Nov 09:45
09eb7b5
Compare
Choose a tag to compare

CHANGES:

Features

Fixes

  • Fix fd leak in running external processes for preprocessing (#1349)

  • Fix prefix parsing for completion of object methods (#1363, fixes #1358)

  • Remove some duplicates in the selectionRange answers (#1368)

1.19.0

30 Jul 17:29
45f5dda
Compare
Choose a tag to compare

CHANGES:

Features

Fixes

  • Kill unnecessary ocamlformat processes with sigterm rather than sigint or
    sigkill (#1343)

1.18.0

05 Jul 16:02
58c71c7
Compare
Choose a tag to compare

CHANGES:

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. (#1221)

  • Support folding of ifthenelse expressions (#1031)

  • Improve hover behavior (#1245)

    Hovers are no longer displaye on useless parsetree nodes such as keywords,
    comments, etc.

    Multiline hovers are now filtered away.

    Display expanded ppx's in the hover window.

  • Improve document symbols (#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. (#1283)

  • Improve signature inference to only include types for elements that were
    absent from the signature. Previously, all signature items would always be
    inserted. (#1289)

  • Add an update-signature code action to update the types of elements that
    were already present in the signature (#1289)

  • Add custom
    ocamllsp/merlinCallCompatible
    request (#1265)

  • Add custom ocamllsp/typeEnclosing request (#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. (#1237)

  • Correctly accept the --clientProcessId flag. (#1242)

  • Disable automatic completion and signature help inside comments (#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. (#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 ~. (#1277)

  • Fix document syncing (#1278, #1280, fixes #1207)

  • Stop generating inlay hints on generated code (#1290)

  • Fix parenthesizing of function types in SignatureHelp (#1296)

  • Fix syntax documentation rendering (#1318)

1.17.0

18 Dec 16:17
d3d8de5
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Fix missing super & subscripts in markdown documentation. (#1170)

  • Do not invoke dune at all if --fallback-read-dot-merlin flag is on. (#1173)

  • Fix semantic highlighting of infix operators that contain '.'. (#1186)

  • Disable highlighting unit as an enum member to fix comment highlighting bug. (#1185)

  • Improve type-on-hover and type-annotate efficiency by only formatting the type
    of the first enclosing. (#1191, #1196)

  • Fix the encoding of URI's to match how vscode does it (#1197)

  • Fix parsing of completion prefixes (#1181)

Features

  • Compatibility with Odoc 2.3.0, with support for the introduced syntax: tables,
    and "codeblock output" (#1184)

  • Display text of references in doc strings (#1166)

  • Add mark/remove unused actions for open, types, for loop indexes, modules,
    match cases, rec, and constructors (#1141)

  • Offer auto-completion for the keyword in (#1217)

1.16.2

22 Jun 15:56
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Fix file permissions used when specifying output files of pp and ppx. (#1153)

1.16.1

20 Jun 18:29
1f78031
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Support building with OCaml 5.0 and 5.1 (#1150)

1.16.0-4.14

18 Jun 14:39
16030d0
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Disable code lens by default. The support can be re-enabled by explicitly
    setting it in the configuration. (#1134)

  • Fix initilization of ocamlformat-rpc in some edge cases when ocamlformat is
    initialized concurrently (#1132)

  • Kill unnecessary $ dune ocaml-merlin with SIGTERM rather than SIGKILL
    (#1124)

  • Refactor comment parsing to use odoc-parser and cmarkit instead of
    octavius and omd (#1088)

    This allows users who migrated to omd 2.X to install ocaml-lsp-server in the
    same opam switch.

    We also slightly improved markdown generation support and fixed a couple in
    the generation of inline heading and module types.

  • Allow opening documents that were already open. This is a workaround for
    neovim's lsp client (#1067)

  • Disable type annotation for functions (#1054)

  • Respect codeActionLiteralSupport capability (#1046)

  • Fix a document syncing issue when utf-16 is the position encoding (#1004)

  • Disable "Type-annotate" action for code that is already annotated.
    (#1037), fixes
    #1036

  • Fix semantic highlighting of long identifiers when using preprocessors
    (#1049, fixes
    #1034)

  • Fix the type of DocumentSelector in cram document registration (#1068)

  • Accept the --clientProcessId command line argument. (#1074)

  • Accept --port as a synonym for --socket. (#1075)

  • Fix connecting to dune rpc on Windows. (#1080)

Features

  • Add "Remove type annotation" code action. (#1039)

  • Support settings through didChangeConfiguration notification (#1103)

  • Add "Extract local" and "Extract function" code actions. (#870)

  • Depend directly on merlin-lib 4.9 (#1070)