guile-user
[Top][All Lists]
Advanced

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

Re: New release of LSP server; LSP clients for Emacs and VSCodium availa


From: Ricardo G. Herdt
Subject: Re: New release of LSP server; LSP clients for Emacs and VSCodium available
Date: Mon, 08 Aug 2022 08:01:13 +0000


Cool, many thanks Aleix! If I update the server, do I have to do something in order to it get it updated on homebrew, like adding some tag? Or you simply track the current master branch?

Ricardo


Am 08.08.2022 01:42 schrieb Aleix Conchillo Flaqué:
Fantastic, thank you! I just packaged both scheme-json-rpc (as
guile-json-rpc) and scheme-lsp-server (as guile-lsp-server) for
homebrew-guile (https://github.com/aconchillo/homebrew-guile [5]).
Tests and executable seem to work (or not fail) but I haven't really
tried it yet. The plan is to make it easy for everyone on macOS to
hack on Guile using either Emacs or VSCode.

Aleix

On Fri, Aug 5, 2022 at 1:08 PM Ricardo G. Herdt <r.herdt@posteo.de>
wrote:

Short update:

there was a problem concerning automatic installation of server,
and
some other bugs. In case you tried to install the server or the
clients
and it didn't work properly, please try out the new versions
available.

Ricardo

Am 04.08.2022 00:32 schrieb Ricardo G. Herdt:
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
[1]

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
[2].

* 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 [3]

* 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
[4].

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

Regards,

Ricardo G. Herdt


Links:
------
[1] https://codeberg.org/rgherdt/scheme-lsp-server#creating-an-lsp-client [2] https://codeberg.org/rgherdt/scheme-lsp-server/#user-content-known-issues
[3] https://codeberg.org/rgherdt/emacs-lsp-scheme
[4] https://codeberg.org/rgherdt/vscode-scheme-lsp
[5] https://github.com/aconchillo/homebrew-guile



reply via email to

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