unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* New release of LSP server; LSP clients for Emacs and VSCodium available
@ 2022-08-03 22:32 Ricardo G. Herdt
  2022-08-05 20:07 ` Ricardo G. Herdt
  0 siblings, 1 reply; 6+ messages in thread
From: Ricardo G. Herdt @ 2022-08-03 22:32 UTC (permalink / raw)
  To: guile-user

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



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: New release of LSP server; LSP clients for Emacs and VSCodium available
  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é
  0 siblings, 2 replies; 6+ messages in thread
From: Ricardo G. Herdt @ 2022-08-05 20:07 UTC (permalink / raw)
  To: guile-user

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
> 
> 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



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: New release of LSP server; LSP clients for Emacs and VSCodium available
  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é
  1 sibling, 0 replies; 6+ messages in thread
From: Jérémy Korwin-Zmijowski @ 2022-08-06  6:54 UTC (permalink / raw)
  To: guile-user, Ricardo G. Herdt, guile-user

Yo!

Thank you Ricardo for your work on this !
Really like this project !

Jérémy 

Le 5 août 2022 22:07:56 GMT+02:00, "Ricardo G. Herdt" <r.herdt@posteo.de> a écrit :
>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
>> 
>> 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
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: New release of LSP server; LSP clients for Emacs and VSCodium available
  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>
  1 sibling, 2 replies; 6+ messages in thread
From: Aleix Conchillo Flaqué @ 2022-08-07 23:42 UTC (permalink / raw)
  To: Ricardo G. Herdt; +Cc: guile-user

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). 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
> >
> > 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
>
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: New release of LSP server; LSP clients for Emacs and VSCodium available
  2022-08-07 23:42   ` Aleix Conchillo Flaqué
@ 2022-08-08  7:17     ` adriano
       [not found]     ` <b7d98d9bbdb9b941812f1bbc0eea18d6@posteo.de>
  1 sibling, 0 replies; 6+ messages in thread
From: adriano @ 2022-08-08  7:17 UTC (permalink / raw)
  To: Aleix Conchillo Flaqué, Ricardo G. Herdt; +Cc: guile-user

Il giorno dom, 07/08/2022 alle 16.42 -0700, Aleix Conchillo Flaqué ha
scritto:



> The plan is to make it easy for everyone on macOS to hack on Guile
> using
> either Emacs or VSCode.
> 
> Aleix


The possibility to work with Guile with VSCode would nothing short than
revolutionary



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: New release of LSP server; LSP clients for Emacs and VSCodium available
       [not found]     ` <b7d98d9bbdb9b941812f1bbc0eea18d6@posteo.de>
@ 2022-08-08  8:01       ` Ricardo G. Herdt
  0 siblings, 0 replies; 6+ messages in thread
From: Ricardo G. Herdt @ 2022-08-08  8:01 UTC (permalink / raw)
  To: guile-user


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



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-08-08  8:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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 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).