~ruther/guix-local

776e00a5c696fb88c8485445b6b5d229927250c3 — Grigory Shepelev 1 year, 2 months ago e4e3176
gnu: Add sbcl-alive-lsp.

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

Change-Id: Id9fea38e2e4e1b66688cd478a255d49d53042285
1 files changed, 49 insertions(+), 0 deletions(-)

M gnu/packages/lisp-xyz.scm
M gnu/packages/lisp-xyz.scm => gnu/packages/lisp-xyz.scm +49 -0
@@ 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"))