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@gmail.com Datum: 02.11.20 19:27 (GMT+01:00) An: gambit-list@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@topoi.pooq.commailto:hendrik@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@iro.umontreal.camailto:Gambit-list@iro.umontreal.ca https://mailman.iro.umontreal.ca/cgi-bin/mailman/listinfo/gambit-list
_______________________________________________ Gambit-list mailing list Gambit-list@iro.umontreal.camailto:Gambit-list@iro.umontreal.ca https://mailman.iro.umontreal.ca/cgi-bin/mailman/listinfo/gambit-list