-
Notifications
You must be signed in to change notification settings - Fork 65
feat: basic lsp #401
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
base: main
Are you sure you want to change the base?
feat: basic lsp #401
Conversation
|
Going to migrate to |
5b46d64 to
dbe18cf
Compare
4cad319 to
6b47d04
Compare
b361c90 to
5e87c38
Compare
| .notification::<notif::Exit>(|_, _| ControlFlow::Break(Ok(()))); | ||
|
|
||
| // Notifications | ||
| router |
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.
why don't we implement the LanguageServer trait?
5e87c38 to
f2a35c1
Compare
3c5c3f6 to
e89085e
Compare
|
getting ICE compiler errors from the incremental document sync while using current solar lsp. |
|
Hi @mmsaki, it's currently a draft and not entirely complete, so it's expected to not work in all cases. Can you share what project you tried using it in for future reference? I'll make sure it works before merging |
0efd93e to
63ae5f5
Compare
63ae5f5 to
55f30f8
Compare
44ccde5 to
51051d1
Compare
Allow the tracing output to be written to either stdout or stderr, defaulting to stdout. Can be extended with support for files later, if desired. Useful for #401 to get more detailed output --------- Co-authored-by: DaniPopes <[email protected]>
51051d1 to
6a28652
Compare
CodSpeed Performance ReportMerging #401 will not alter performanceComparing Summary
|
6a28652 to
6b3b622
Compare
Adds a basic LSP exposed as
solar lsp. The default behavior forsolaris still to compile.The LSP itself is implemented as a thin VFS that sits on top of files on disk. It's pretty dumb, so every time a file is changed, the entirety of the project is reparsed and relowered. Diagnostics from this process is published to the client.
The VFS itself makes use of ropes for file content.
The structure is heavily inspired by
rust-analyzer, albeit with some simplifications given Solar is pretty fast and Solidity projects are usually fairly small.Closes #417