guile-user
[Top][All Lists]
Advanced

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

New release of LSP server; LSP clients for Emacs and VSCodium available


From: Ricardo G. Herdt
Subject: New release of LSP server; LSP clients for Emacs and VSCodium available
Date: Wed, 03 Aug 2022 22:32:11 +0000

Hi all,

I want to announce some releases related to LSP support for Scheme, focusing on Guile.

* scheme-lsp-server 0.1.3

Besides bug fixes, here what's new:

- scheme-lsp-server now selectively uses geiser code when doable. This is especially the case for Guile. The goal is to encourage myself and contributors to help improving Geiser, and directly benefit of its development. Obviously only Scheme code is reused.

- previously scheme-lsp-server assumed an LSP client would fire up a REPL and let the user interact with it, showing LSP-related infos depending on things the user actively loaded. This is not the way most LSP-based tools expect an LSP-server to work though, and has some downsides:

+ implementing a client is not as trivial as it should be, since the developer has to figure out a way to integrate a REPL into the IDE/editor, and send commands to it to "guide" the LSP server. + developers used to other LSP-based tools can be surprised to see that they have to actively load stuff in order to get meaningful feedback from the IDE.

Therefore I did a major design change: scheme-lsp-server now does it's best to automatically compile/import files opened by the user (including dependencies). This makes the task of implementing an LSP client much easier: just launch guile-lsp-server and call it a day. I added some notes regarding creating new LSP clients for other editors/IDE's:

https://codeberg.org/rgherdt/scheme-lsp-server#creating-an-lsp-client

One important note: for now, the LSP server needs to "see" library definitions in order to compile and import needed libraries. See https://codeberg.org/rgherdt/scheme-lsp-server/#user-content-known-issues.

* emacs-lsp-scheme 0.1.0 (available on MELPA)

The first versions of emacs-lsp-scheme had a custom REPL (based on Emacs' built-in scheme support) that was connected to the LSP server. Following the changes to the LSP server, I decoupled the emacs-lsp-scheme from the REPL. This seems to be a regression at first, but the idea is that one can simply use "run-scheme" to launch a REPL, and this does not interfere with the LSP server. For deeper integration of Guile and Emacs, Geiser is still the way to go. See the README file for instructions on how to configure it: https://codeberg.org/rgherdt/emacs-lsp-scheme

* vscode-scheme-lsp 0.2.1 (available for VSCodium on open-vsx)

Following the same ideas of emacs-lsp-scheme, this extension now focuses on basically providing LSP support. The user can install other extensions to get syntax highlighting and an integrated REPL.
Here the code: https://codeberg.org/rgherdt/vscode-scheme-lsp.

I only tested all this on Debian buster. Please let me know if you experience any trouble installing/using it.

Regards,

Ricardo G. Herdt



reply via email to

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