gnu: Add sbcl-alive-lsp.

* gnu/packages/lisp-xyz.scm (sbcl-alive-lsp): New variable.

Change-Id: Id9fea38e2e4e1b66688cd478a255d49d53042285
This commit is contained in:
Grigory Shepelev 2025-03-11 22:00:46 +03:00 committed by Danny Milosavljevic
parent e4e3176a06
commit 776e00a5c6
No known key found for this signature in database
GPG key ID: E71A35542C30BAA5

View file

@ -31822,6 +31822,55 @@ the abstraction and portability layer as thin as possible.")
(define-public ecl-usocket
(sbcl-package->ecl-package sbcl-usocket))
(define-public sbcl-alive-lsp
(package
(name "sbcl-alive-lsp")
(version "0.2.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nobody-famous/alive-lsp")
(commit (string-append "v" version))))
(file-name (git-file-name "sbcl-alive-lsp" version))
(sha256
(base32 "1dmgglrg7294vx8qacc5d2hkhfrids1iacihj2l8czrvwc3i19yz"))))
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-usocket
sbcl-cl-json
sbcl-bordeaux-threads
sbcl-flexi-streams))
(home-page "https://github.com/nobody-famous/alive-lsp")
(synopsis "Common Lisp Alive LSP")
(description "This package provides a Language Server Protocol
implementation for use with the
@url{https://github.com/nobody-famous/alive, Alive} Visual Studio Code
extension.
It can be used in Emacs like this:
@example
(require 'lsp)
(defun lsp-lisp-alive-start-ls ()
\"Start the alive-lsp.\"
(interactive)
(when-let (((lsp--port-available \"localhost\" lsp-lisp-alive-port)))
(lsp-async-start-process #'ignore #'ignore
\"sbcl\"
\"--eval\"
\"(require :asdf)\"
\"--eval\"
\"(asdf:load-system :alive-lsp)\"
\"--eval\"
(format \"(alive/server::start :port %s)\"
lsp-lisp-alive-port))))
@end example")
(license license:unlicense)))
(define-public cl-alive-lsp
(sbcl-package->cl-source-package sbcl-alive-lsp))
(define-public sbcl-utf8-input-stream
(let ((commit "d33b57a4d439c2f0877e5513be45eb6940d92c68")
(revision "0"))