[gambit-list] Naive language server for gambit scheme

Thomas Hage thomas.hage at live.de
Mon Nov 2 17:20:16 EST 2020


Thank you for referencing the language server protocol and answering the question!

For further clarification: When not using emacs with slime/swank or geiser an editor doesn't reveal much about the used programming language... It helps exploring a code base by enabling to jump to a definition. It does not provide any capabilities for using the repl. In case of neovim/vim, one can pick a prefered plugin of choice for this (I am using neovim to enter in the repl, vim-slime to send a paragraph/selection to the repl within tmux).
There are many editors which support the above protocol in order to assist programming with these languages.

This server also enables auto-completion from the gambit-sources + r4rs/r5rs-symbols and the current working directory (by walking the files and resolving "(include"s and "(load"s).
Furthermore one can hover usages of global bindings to get a listing of the definition (e.g. accessing the arguments of a binding) and a link to the gambit-online-reference.

I am not able to compare the setup of vim + this server with emacs + any-of-the above. But when not using emacs, it greatly improves writing gambit scheme. It can also be used with emacs, even though currently the server only uses the stdin/stdout to communicste with the editor.
It is fairly easy to extend this server to also support tcp/ip as a communication protocol (noted ;- )).

Greetings,

Thomas!



-------- Ursprüngliche Nachricht --------
Von: Dan Thedens <dthedens at gmail.com>
Datum: 02.11.20 19:27 (GMT+01:00)
An: gambit-list at iro.umontreal.ca
Betreff: Re: [gambit-list] Naive language server for gambit scheme

On Mon, Nov 2, 2020 at 12:20 PM Hendrik Boom <hendrik at topoi.pooq.com<mailto:hendrik at topoi.pooq.com>> wrote:
On Mon, Nov 02, 2020 at 10:24:36AM +0000, Thomas Hage wrote:
> Hello dear community!
>
> In order to learn the scheme programming language I choose to create a language server as my first program.

What *is* a language server?

I assume this is what is meant:

https://microsoft.github.io/language-server-protocol/

"A Language Server is meant to provide the language-specific smarts and communicate with development tools over a protocol that enables inter-process communication."

-- hendrik

>
> I guess your attention is required to make things work outside the unix-universe.
>
> You can find the language server, called zamba, here: https://gitlab.com/tomaha.gq/zamba-ls
>
> I am at the end of my studies, so please do not expect a battleproof software. Hopefully we can get there together.
>
> I try to answer any questions to my best knowledge and I am very curious about any feedback (about the project or the server!).
>
> Sincerely,
>
> Thomas

> _______________________________________________
> Gambit-list mailing list
> Gambit-list at iro.umontreal.ca<mailto:Gambit-list at iro.umontreal.ca>
> https://mailman.iro.umontreal.ca/cgi-bin/mailman/listinfo/gambit-list


_______________________________________________
Gambit-list mailing list
Gambit-list at iro.umontreal.ca<mailto:Gambit-list at iro.umontreal.ca>
https://mailman.iro.umontreal.ca/cgi-bin/mailman/listinfo/gambit-list

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20201102/a3316586/attachment.htm>


More information about the Gambit-list mailing list