On Sat, 17 Apr 2021 19:22:29 +0000 "Ricardo G. Herdt" <[email protected]> wrote:
> 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 Thanks, Ricardo. Your egg has been added to the coop. > 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 Nice work! Thanks for sharing. All the best. Mario -- http://parenteses.org/mario
