Ocaml Lsp Versions Save

OCaml Language Server Protocol implementation

1.17.0

3 months ago

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

9 months ago

CHANGES:

Fixes

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

1.16.1

9 months ago

CHANGES:

Fixes

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

1.16.0-4.14

9 months ago

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

1 year ago

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

1 year ago

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

1 year ago

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

1 year ago

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

1 year ago

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

1 year ago

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