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: Re: New release of LSP server; LSP clients for Emacs and VSCodium available
Date: Mon, 08 Aug 2022 08:01:13 +0000	[thread overview]
Message-ID: <abd19a76b8ea4c72bf04a766c0da2204@posteo.de> (raw)
In-Reply-To: <b7d98d9bbdb9b941812f1bbc0eea18d6@posteo.de>


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



      parent reply	other threads:[~2022-08-08  8:01 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-03 22:32 New release of LSP server; LSP clients for Emacs and VSCodium available Ricardo G. Herdt
2022-08-05 20:07 ` 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 [this message]

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=abd19a76b8ea4c72bf04a766c0da2204@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).