Skip to content

Vendor lsp#51

Merged
c-cube merged 12 commits intoc-cube:mainfrom
giltho:vendor-lsp
Apr 7, 2025
Merged

Vendor lsp#51
c-cube merged 12 commits intoc-cube:mainfrom
giltho:vendor-lsp

Conversation

@giltho
Copy link
Copy Markdown
Contributor

@giltho giltho commented Apr 3, 2025

Resolves #48

Ok so this took me quite some time, but it was just a matter of finding the correct dune invocations. I also thought a lot of renaming would be required, but in the end, not so much.

Updating lsp/jsonrpc

Depending on how much lsp and jsonrpc change, there might none to some work required updating linol's own dependencies and version of the dune file required to build lsp and

Breaking changes

If someone currently calls Lsp or Jsonrpc directly to use with Linol, this update would break their code. But it would trivially be fixed by using -open Linol.Import in their flags, or just use open Linol.Import in the relevant files

Testing

I tested this by pinning the commit to my project that uses it, and it just updated seamlessly :) I could also upgrade ocaml-lsp, and it doesn't interfere with linol

giltho added 11 commits April 3, 2025 14:27
Signed-off-by: Sacha-Élie Ayoun <sachaayoun@gmail.com>
Signed-off-by: Sacha-Élie Ayoun <sachaayoun@gmail.com>
Signed-off-by: Sacha-Élie Ayoun <sachaayoun@gmail.com>
Signed-off-by: Sacha-Élie Ayoun <sachaayoun@gmail.com>
Signed-off-by: Sacha-Élie Ayoun <sachaayoun@gmail.com>
Signed-off-by: Sacha-Élie Ayoun <sachaayoun@gmail.com>
Signed-off-by: Sacha-Élie Ayoun <sachaayoun@gmail.com>
Signed-off-by: Sacha-Élie Ayoun <sachaayoun@gmail.com>
Signed-off-by: Sacha-Élie Ayoun <sachaayoun@gmail.com>
Signed-off-by: Sacha-Élie Ayoun <sachaayoun@gmail.com>
Signed-off-by: Sacha-Élie Ayoun <sachaayoun@gmail.com>
@giltho
Copy link
Copy Markdown
Contributor Author

giltho commented Apr 3, 2025

Well, the good thing is that it also reduces 3x the compute required for CI

Signed-off-by: Sacha-Élie Ayoun <sachaayoun@gmail.com>
@giltho
Copy link
Copy Markdown
Contributor Author

giltho commented Apr 3, 2025

image (Narrator: That wasn't it.)

Copy link
Copy Markdown
Owner

@c-cube c-cube left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting. I wonder if git subtree should be used instead of git submodule, mostly for questions of whether it's doable to opam pin this repo? And how hard it is to do releases.

@@ -0,0 +1,5 @@
(copy_files %{project_root}/submodules/ocaml-lsp/jsonrpc/src/*.{ml,mli})
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh that's neat, ok, that's how you avoid the clash with the actual lsp library.

@c-cube c-cube merged commit 5ba6f40 into c-cube:main Apr 7, 2025
4 checks passed
@c-cube
Copy link
Copy Markdown
Owner

c-cube commented Apr 7, 2025

Merged by hand with some additional fixes, thanks! I also just inlined the Import module.

@giltho
Copy link
Copy Markdown
Contributor Author

giltho commented Apr 7, 2025

Thank you for merging!

Regarding git subtree I'm not sure. It could make pinning the repo easier? Right now, submodules work on opam but not on dune's experimental package management.

@c-cube
Copy link
Copy Markdown
Owner

c-cube commented Apr 7, 2025 via email

@giltho
Copy link
Copy Markdown
Contributor Author

giltho commented Apr 16, 2025

@c-cube Using git subtree fixed the dune package management issue :)

@c-cube
Copy link
Copy Markdown
Owner

c-cube commented Apr 16, 2025

excellent!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Vendoring LSP?

2 participants