From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: "Ricardo G. Herdt" Newsgroups: gmane.lisp.guile.user Subject: Re: New release of LSP server; LSP clients for Emacs and VSCodium available Date: Mon, 08 Aug 2022 08:01:13 +0000 Message-ID: References: <5aa21528d8fb87686687252ef53cf8e4@posteo.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="30065"; mail-complaints-to="usenet@ciao.gmane.io" To: guile-user Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Mon Aug 08 10:01:38 2022 Return-path: Envelope-to: guile-user@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oKxhh-0007d2-Vc for guile-user@m.gmane-mx.org; Mon, 08 Aug 2022 10:01:38 +0200 Original-Received: from localhost ([::1]:40196 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oKxhh-0003lv-0n for guile-user@m.gmane-mx.org; Mon, 08 Aug 2022 04:01:37 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46704) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oKxhQ-0003kG-Fh for guile-user@gnu.org; Mon, 08 Aug 2022 04:01:20 -0400 Original-Received: from mout02.posteo.de ([185.67.36.66]:42701) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oKxhO-0001QB-4C for guile-user@gnu.org; Mon, 08 Aug 2022 04:01:20 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id 5E5B9240103 for ; Mon, 8 Aug 2022 10:01:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1659945674; bh=5H1HBs/CO7qyyXcTMZI8ubqyDbveJuM5xmaJ7d7Q5NI=; h=Date:From:To:Subject:From; b=IZj5X1fvJ0hD12o4cDoe0CcXwlVHgRwCAiaps9xu4xk5INYClThBIKrODPpXVxfj5 eONHFkBDgVImx6BjTudRUwjTBgrKTAGbVC+M6KuvmhC17eEoBvtFfsJxaHVMdrbR0a tIearAKLbc9FEab4YrXAosOtEnEVzhgZ0TpQa/hbOP/dRXfQuqEBb1N41JGcPHZi/f E1LdBB8t0FCDDDQq30DzmSY8iv9QNmxMLvL7qtmdOWMdnNULFy086NoCz0LfYkWsUO nUp1fFmjDyo0sQ0o6Jjyz1L/lVSbdc0IBaogb9JOfgE+HQLESGqyVdVHY8zVlAkSgS gKbWgcZvG5h2A== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4M1TD968hfz9rxT for ; Mon, 8 Aug 2022 10:01:13 +0200 (CEST) In-Reply-To: Received-SPF: pass client-ip=185.67.36.66; envelope-from=r.herdt@posteo.de; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.io gmane.lisp.guile.user:18505 Archived-At: Cool, many thanks Aleix! If I update the server, do I have to do=20 something in order to it get it updated on homebrew, like adding some=20 tag? Or you simply track the current master branch? Ricardo >=20 > Am 08.08.2022 01:42 schrieb Aleix Conchillo Flaqu=C3=A9: >> 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. >>=20 >> Aleix >>=20 >> On Fri, Aug 5, 2022 at 1:08 PM Ricardo G. Herdt >> wrote: >>=20 >>> Short update: >>>=20 >>> 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. >>>=20 >>> Ricardo >>>=20 >>> Am 04.08.2022 00:32 schrieb Ricardo G. Herdt: >>>> Hi all, >>>>=20 >>>> I want to announce some releases related to LSP support for >>> Scheme, >>>> focusing on Guile. >>>>=20 >>>> * scheme-lsp-server 0.1.3 >>>>=20 >>>> Besides bug fixes, here what's new: >>>>=20 >>>> - 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. >>>>=20 >>>> - 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: >>>>=20 >>>> + 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. >>>>=20 >>>> 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: >>>>=20 >>>>=20 >>>=20 >> https://codeberg.org/rgherdt/scheme-lsp-server#creating-an-lsp-client >>> [1] >>>>=20 >>>> One important note: for now, the LSP server needs to "see" >>> library >>>> definitions in order to compile and import needed libraries. See >>>>=20 >>>=20 >> https://codeberg.org/rgherdt/scheme-lsp-server/#user-content-known-issue= s >>> [2]. >>>>=20 >>>> * emacs-lsp-scheme 0.1.0 (available on MELPA) >>>>=20 >>>> 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] >>>>=20 >>>> * vscode-scheme-lsp 0.2.1 (available for VSCodium on open-vsx) >>>>=20 >>>> 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]. >>>>=20 >>>> I only tested all this on Debian buster. Please let me know if >>> you >>>> experience any trouble installing/using it. >>>>=20 >>>> Regards, >>>>=20 >>>> Ricardo G. Herdt >>=20 >>=20 >> Links: >> ------ >> [1]=20 >> https://codeberg.org/rgherdt/scheme-lsp-server#creating-an-lsp-client >> [2]=20 >> https://codeberg.org/rgherdt/scheme-lsp-server/#user-content-known-issue= s >> [3] https://codeberg.org/rgherdt/emacs-lsp-scheme >> [4] https://codeberg.org/rgherdt/vscode-scheme-lsp >> [5] https://github.com/aconchillo/homebrew-guile