chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New egg (json-rpc) and some words about LSP


From: Ricardo G. Herdt
Subject: New egg (json-rpc) and some words about LSP
Date: Sat, 17 Apr 2021 19:22:29 +0000

Hi all,

I created a simple JSON-RPC implementation that I would like to share. @Mario, can you please add it to the coop?

https://gitlab.com/rgherdt/scheme-json-rpc

It's my first library release, so any ideas regarding the API are welcome. The calling procedures are rather simple for now, for instance they are only synchronous and JSON-RPC's ID feature is completely ignored. I mainly focused on the server-side so far.

The code structure is rather atypical, since I'm striving to keep it portable to other implementations. The reason is that I'm using this to develop a LSP server for scheme. As mentioned during the last Coding Jam, the LSP server currently focuses on CHICKEN 5 and Guile, and regarding C5 I already managed to implement support for auto-completion, find-signature and documentation fetching. There are still some problems, for instance I noticed that chicken-doc doesn't find some symbols like 'string-map under (scheme base). Any ideas why?

The LSP server is mainly tcp socket base, although using it with standard input/output shouldn't be a problem. I'm still not sure what are the tradeoffs between both options though.

I also started writing a LSP client for VSCode. Although I'm an emacs user, I think VSCode support could help atracting new users, so that's why I'm focusing on it first. It also helps that it's LSP support is obviously very mature. If someone wants to work on a different client, feel free to contact me (rgherdt on #chicken).

LSP features might be not as rich as say the Swank protocol. But we can add custom commands to it (I did it to send 'load requests to the server). So it looks quite flexible.

For those curious about the current state:
https://gitlab.com/rgherdt/scheme-lsp-server
https://gitlab.com/rgherdt/vscode-scheme-lsp

Cheers,

Ricardo Herdt





reply via email to

[Prev in Thread] Current Thread [Next in Thread]