Skip to content

Releases: ocaml/ocaml-lsp

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)

1.15.1-5.0

19 Jan 08:10
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Fix race condition when a document was being edited and dune in watch mode was
    running (#1005, fixes
    #941,
    #1003)

1.15.1-4.14

19 Jan 08:04
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Fix race condition when a document was being edited and dune in watch mode was
    running (#1005, fixes
    #941,
    #1003)

1.15.0-5.0

07 Jan 16:08
Compare
Choose a tag to compare

CHANGES:

Features

  • Add support for OCaml 5.0

  • Enable semantic highlighting
    support by default (#933)

  • Support connecting over pipes and socket. Pipes on Windows aren't yet
    supported (#946)

    More
    about communication channels in LSP specification.

  • Re-enable ocamlformat-rpc for formatting code snippets (but not files and
    not on Windows) (#920, #939)

    One needs to have installed either ocamlformat package version > 0.21.0 or,
    otherwise, ocamlformat-rpc package. Note that previously ocamlformat-rpc
    came in a standalone OPAM package, but since ocamlformat version > 0.21.0,
    it comes within ocamlformat package.

  • Add custom
    ocamllsp/hoverExtended
    request (#561)

  • Support utf-8 position encoding clients (#919)

    More about position encoding in LSP specification.

  • Show unwrapped module alias types on hovering over module names. This is due
    to upgrading to merlin 4.7 and using merlin's verbosity=smart by default
    (#942)

Fixes

  • Respect the client's completion item resolve and preSelect capabilities
    (#925, #936)

  • Disable polling for dune's watch mode on Windows and OCaml 4.14.0 (#935)

  • Fix semantic highlighting of "long identifiers," e.g., Foo.Bar.x (#932)

  • Fix syncing of document contents:

    • For ranges that span an entire line (#927)
    • Previously, whole line edits would incorrectly eat the newline characters (#971)

1.15.0-4.14

07 Jan 15:58
Compare
Choose a tag to compare

CHANGES:

Features

  • Enable semantic highlighting
    support by default (#933)

  • Support connecting over pipes and socket. Pipes on Windows aren't yet
    supported (#946)

    More
    about communication channels in LSP specification.

  • Re-enable ocamlformat-rpc for formatting code snippets (but not files and
    not on Windows) (#920, #939)

    One needs to have installed either ocamlformat package version > 0.21.0 or,
    otherwise, ocamlformat-rpc package. Note that previously ocamlformat-rpc
    came in a standalone OPAM package, but since ocamlformat version > 0.21.0,
    it comes within ocamlformat package.

  • Add custom
    ocamllsp/hoverExtended
    request (#561)

  • Support utf-8 position encoding clients (#919)

    More about position encoding in LSP specification.

  • Show unwrapped module alias types on hovering over module names. This is due
    to upgrading to merlin 4.7 and using merlin's verbosity=smart by default
    (#942)

Fixes

  • Respect the client's completion item resolve and preSelect capabilities
    (#925, #936)

  • Disable polling for dune's watch mode on Windows and OCaml 4.14.0 (#935)

  • Fix semantic highlighting of "long identifiers," e.g., Foo.Bar.x (#932)

  • Fix syncing of document contents:

    • For ranges that span an entire line (#927)
    • Previously, whole line edits would incorrectly eat the newline characters (#971)

1.15.0+5.0preview1

16 Dec 20:09
Compare
Choose a tag to compare

CHANGES:

Features

  • Add support for OCaml 5.0

  • Semantic highlighting support is enabled by default (#933)

  • Re-enable ocamlformat-rpc for formatting code snippets (but not files) (#920, #939)

    One needs to have either ocamlformat version > 0.21.0 or, otherwise,
    ocamlformat-rpc package installed.

  • Add custom ocamllsp/hoverExtended request (#561)

  • Support utf-8 position encoding clients (#919)

  • Upgrade to merlin 4.7 and use merlin's verbosity=smart by default, which
    allows unwrapping module alias types (#942)

Fixes

  • Fix document syncing for ranges that span an entire line (#927)

  • Respect the client's completion item resolve and preSelect capabilities
    (#925, #936)

  • Disable polling for dune's watch mode on Windows and OCaml 4.14.0 (#935)

  • Fix semantic highlighting of "long identifiers," e.g., Foo.Bar.x (#932)

1.14.2

06 Nov 00:08
ca836e9
Compare
Choose a tag to compare

CHANGES:

Fixes

  • Fix random requests failing after switching documents (#904, fixes #898)

  • Do not offer related diagnostic information unless the user enables in client
    capabilities (#905)

  • Do not offer diagnostic tags unless the client supports them (#909)

  • Do not attach extra data to diagnostics unless the client supports this
    (#910)

  • Use /bin/sh instead of /bin/bash. This fixes ocamllsp on NixOS