diff options
author | Grigory Shepelev <shegeley@gmail.com> | 2025-03-11 22:00:46 +0300 |
---|---|---|
committer | Danny Milosavljevic <dannym@friendly-machines.com> | 2025-06-06 01:55:53 +0200 |
commit | 776e00a5c696fb88c8485445b6b5d229927250c3 (patch) | |
tree | 090c26a63428e7ec08a5b883c41f2f668c96e603 /gnu/packages/lisp-xyz.scm | |
parent | e4e3176a061d046e34d30a0c39a8afc913d4228d (diff) |
gnu: Add sbcl-alive-lsp.
* gnu/packages/lisp-xyz.scm (sbcl-alive-lsp): New variable.
Change-Id: Id9fea38e2e4e1b66688cd478a255d49d53042285
Diffstat (limited to 'gnu/packages/lisp-xyz.scm')
-rw-r--r-- | gnu/packages/lisp-xyz.scm | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 83538d7176..4ff1a17c6e 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -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")) |