-
Notifications
You must be signed in to change notification settings - Fork 117
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: update merlin #942
chore: update merlin #942
Conversation
There should be breaking changes in the latest merlin, so we can either merge with errors and I fix them in a follow-up PR or I can try upgrading merlin and fixing errors in another PR |
c644969
to
7d37f57
Compare
ps-id: ea784131-dd41-4181-add7-fd3e5e304b00
7d37f57
to
9b0dc31
Compare
I made it build at least. A few test failures remaining |
I can fix tests and push to this branch if you'd like |
Sure that would be appreciated |
The test failures are caused by a regression in merlin - ocaml/merlin#1540 Should we wait for a fix (which is likely an easy one and we should be able to rebase and update merlin in olsp again) or I can update our tests to fetch documents for identifiers outside let-definitions, which fixes our tests? |
No opinion. Shall we ask the merlin team what's the best course of action?
Rudi.
…On Dec 5, 2022, 2:52 PM -0500, Ulugbek Abdullaev ***@***.***>, wrote:
The test failures are caused by a regression in merlin - ocaml/merlin#1540
Should we wait for fix (which is likely an easy one and we should be able to rebase and update merlin in olsp again) or I can update our tests to fetch documents for identifiers outside let-definition, which fixes our tests?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
I’ll just update the tests then |
If we update the tests, how would we make sure there are no regressions with this issue? |
I’ll add a test with a fixme that we’ll update as soon as we get merlin with this issue fixed. Hope this makes sense. This issue is a very minor one, given the documentation isnt shown only for values in let-definitions, meaning the documentation doesn’t need to appear on hover because it’s right there near cursor anyway |
Sound good to me. |
The windows tests are still failing. Any idea why? |
No idea, but I’ll have a look. The current failures are quite cryptic though. |
We should be able to see better errors if we set |
@@ -1105,6 +1105,7 @@ let start () = | |||
Metrics.with_metrics metrics run | |||
|
|||
let run ~read_dot_merlin () = | |||
Merlin_utils.Lib_config.set_program_name "OCaml-LSP"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about just using the binary name? ocamllsp
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
Shall we merge this and address the windows stuff separately? |
e84f8b4
to
4c66493
Compare
Sure |
CHANGES: ## Fixes - Fix document syncing for ranges that span an entire line (ocaml/ocaml-lsp#927) - Respect the client's completion item resolve and preSelect capabilities (ocaml/ocaml-lsp#925, ocaml/ocaml-lsp#936) - Disable polling for dune's watch mode on Windows and OCaml 4.14.0 (ocaml/ocaml-lsp#935) ## Features - Semantic highlighting support is enabled by default (ocaml/ocaml-lsp#933) - Re-enable `ocamlformat-rpc` for formatting code snippets (but not files) (ocaml/ocaml-lsp#920, ocaml/ocaml-lsp#939) One needs to have either `ocamlformat` version > 0.21.0 or, otherwise, `ocamlformat-rpc` package installed. - Add custom ocamllsp/hoverExtended request (ocaml/ocaml-lsp#561) - Support utf-8 position encoding clients (ocaml/ocaml-lsp#919) - Upgrade to merlin 4.7 and use merlin's `verbosity=smart` by default, which allows unwrapping module alias types (ocaml/ocaml-lsp#942) ## Fixes - Fix semantic highlighting of "long identifiers," e.g., `Foo.Bar.x` (ocaml/ocaml-lsp#932)
CHANGES: ## Fixes - Fix document syncing for ranges that span an entire line (ocaml/ocaml-lsp#927) - Respect the client's completion item resolve and preSelect capabilities (ocaml/ocaml-lsp#925, ocaml/ocaml-lsp#936) - Disable polling for dune's watch mode on Windows and OCaml 4.14.0 (ocaml/ocaml-lsp#935) ## Features - Semantic highlighting support is enabled by default (ocaml/ocaml-lsp#933) - Re-enable `ocamlformat-rpc` for formatting code snippets (but not files) (ocaml/ocaml-lsp#920, ocaml/ocaml-lsp#939) One needs to have either `ocamlformat` version > 0.21.0 or, otherwise, `ocamlformat-rpc` package installed. - Add custom ocamllsp/hoverExtended request (ocaml/ocaml-lsp#561) - Support utf-8 position encoding clients (ocaml/ocaml-lsp#919) - Upgrade to merlin 4.7 and use merlin's `verbosity=smart` by default, which allows unwrapping module alias types (ocaml/ocaml-lsp#942) ## Fixes - Fix semantic highlighting of "long identifiers," e.g., `Foo.Bar.x` (ocaml/ocaml-lsp#932)
CHANGES: ## Features - Add support for OCaml 5.0 - Semantic highlighting support is enabled by default (ocaml/ocaml-lsp#933) - Re-enable `ocamlformat-rpc` for formatting code snippets (but not files) (ocaml/ocaml-lsp#920, ocaml/ocaml-lsp#939) One needs to have either `ocamlformat` version > 0.21.0 or, otherwise, `ocamlformat-rpc` package installed. - Add custom ocamllsp/hoverExtended request (ocaml/ocaml-lsp#561) - Support utf-8 position encoding clients (ocaml/ocaml-lsp#919) - Upgrade to merlin 4.7 and use merlin's `verbosity=smart` by default, which allows unwrapping module alias types (ocaml/ocaml-lsp#942) ## Fixes - Fix document syncing for ranges that span an entire line (ocaml/ocaml-lsp#927) - Respect the client's completion item resolve and preSelect capabilities (ocaml/ocaml-lsp#925, ocaml/ocaml-lsp#936) - Disable polling for dune's watch mode on Windows and OCaml 4.14.0 (ocaml/ocaml-lsp#935) - Fix semantic highlighting of "long identifiers," e.g., `Foo.Bar.x` (ocaml/ocaml-lsp#932)
CHANGES: ## Features - Enable [semantic highlighting](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens) support by default (ocaml/ocaml-lsp#933) - Support connecting over pipes and socket. Pipes on Windows aren't yet supported (ocaml/ocaml-lsp#946) [More](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#implementationConsiderations) about communication channels in LSP specification. - Re-enable `ocamlformat-rpc` for formatting code snippets (but not files and not on Windows) (ocaml/ocaml-lsp#920, ocaml/ocaml-lsp#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`](https://github.com/ocaml/ocaml-lsp/blob/e165f6a3962c356adc7364b9ca71788e93489dd0/ocaml-lsp-server/docs/ocamllsp/hoverExtended-spec.md#L1) request (ocaml/ocaml-lsp#561) - Support utf-8 position encoding clients (ocaml/ocaml-lsp#919) [More](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#position) 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 (ocaml/ocaml-lsp#942) ## Fixes - Respect the client's completion item resolve and preSelect capabilities (ocaml/ocaml-lsp#925, ocaml/ocaml-lsp#936) - Disable polling for dune's watch mode on Windows and OCaml 4.14.0 (ocaml/ocaml-lsp#935) - Fix semantic highlighting of "long identifiers," e.g., `Foo.Bar.x` (ocaml/ocaml-lsp#932) - Fix syncing of document contents: - For ranges that span an entire line (ocaml/ocaml-lsp#927) - Previously, whole line edits would incorrectly eat the newline characters (ocaml/ocaml-lsp#971)
CHANGES: ## Features - Add support for OCaml 5.0 - Enable [semantic highlighting](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens) support by default (ocaml/ocaml-lsp#933) - Support connecting over pipes and socket. Pipes on Windows aren't yet supported (ocaml/ocaml-lsp#946) [More](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#implementationConsiderations) about communication channels in LSP specification. - Re-enable `ocamlformat-rpc` for formatting code snippets (but not files and not on Windows) (ocaml/ocaml-lsp#920, ocaml/ocaml-lsp#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`](https://github.com/ocaml/ocaml-lsp/blob/e165f6a3962c356adc7364b9ca71788e93489dd0/ocaml-lsp-server/docs/ocamllsp/hoverExtended-spec.md#L1) request (ocaml/ocaml-lsp#561) - Support utf-8 position encoding clients (ocaml/ocaml-lsp#919) [More](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#position) 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 (ocaml/ocaml-lsp#942) ## Fixes - Respect the client's completion item resolve and preSelect capabilities (ocaml/ocaml-lsp#925, ocaml/ocaml-lsp#936) - Disable polling for dune's watch mode on Windows and OCaml 4.14.0 (ocaml/ocaml-lsp#935) - Fix semantic highlighting of "long identifiers," e.g., `Foo.Bar.x` (ocaml/ocaml-lsp#932) - Fix syncing of document contents: - For ranges that span an entire line (ocaml/ocaml-lsp#927) - Previously, whole line edits would incorrectly eat the newline characters (ocaml/ocaml-lsp#971)
ps-id: ea784131-dd41-4181-add7-fd3e5e304b00