unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: "Ricardo G. Herdt" <r.herdt@posteo.de>
To: guile-user <guile-user@gnu.org>
Subject: New release of LSP server; LSP clients for Emacs and VSCodium available
Date: Wed, 03 Aug 2022 22:32:11 +0000	[thread overview]
Message-ID: <5aa21528d8fb87686687252ef53cf8e4@posteo.de> (raw)

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	other threads:[~2022-08-03 22:32 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-03 22:32 Ricardo G. Herdt [this message]
2022-08-05 20:07 ` New release of LSP server; LSP clients for Emacs and VSCodium available Ricardo G. Herdt
2022-08-06  6:54   ` Jérémy Korwin-Zmijowski
2022-08-07 23:42   ` Aleix Conchillo Flaqué
2022-08-08  7:17     ` adriano
     [not found]     ` <b7d98d9bbdb9b941812f1bbc0eea18d6@posteo.de>
2022-08-08  8:01       ` Ricardo G. Herdt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5aa21528d8fb87686687252ef53cf8e4@posteo.de \
    --to=r.herdt@posteo.de \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).