chances / lsp-glib

Language Server Protocol SDK for GLib
MIT License
4 stars 0 forks source link

State of LSP and Vala #1

Closed chances closed 3 years ago

chances commented 3 years ago

Spawned from https://github.com/elementary/code/issues/220

Prince781 commented 3 years ago

This project looks interesting. Is your goal to make a general GObject library for LSP, to be used by Code and possibly GNOME Builder?

chances commented 3 years ago

@Prince781 Exactly! 😄 My first priority is integration with Code, but I want the library to be generic enough for other use cases as well.

chances commented 3 years ago

@Prince781 Do you think, if at all, this project could integrate with https://github.com/Prince781/vala-language-server?

I didn't find this your repo during my initial search for extant implementations of the protocol. Yours is not listed on the GNOME Wiki? (Turns out it is listed as https://github.com/benwaffle/vala-language-server.)

Prince781 commented 3 years ago

I don't see this project integrating with VLS or any language server. Rather, I see it as providing a general implementation of the LSP that can be used by any editor.

Prince781 commented 3 years ago

I would be interested in helping you out, though. I've had a similar idea but I have other things to work on (namely VLS and other areas of Vala).

If the idea becomes a library implementation for LSP, I think the project name should be reconsidered.

chances commented 3 years ago

@Prince781 My goal with the project is a generic library implementing the LSP protocol, much like the other LSP SDKs, such that it may be used in both LSP client and server implementations. I think the library could help reduce the maintenance burden of VLS' LSP protocol implementation.

I would appreciate your help. :smile:

Regarding the project's name, I based it off of this C# LSP SDK. Why do you think the current name isn't suitable?

Prince781 commented 3 years ago

Because Vala libraries aren't written just for Vala, but can be used from C and any other language that has bindings (Python, Rust, etc). I was thinking of lsp-glib or langserv-glib as other GLib-based libraries are similarly named (jsonrpc-glib, json-glib, libgit-glib, telepathy-glib, etc)