Subject: [PATCH 22/22] gnu: Add kak-lsp.

From: aecepoglu <[email-masked]>
Date: Sat, 30 Jan 2021 17:34:12 +0300

* gnu/packages/text-editors.scm (kak-lsp): New variable.
---
 gnu/packages/text-editors.scm | 41 +++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 052dfa1236..9b79b3ec71 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -46,6 +46,7 @@
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages code)
+  #:use-module (gnu packages crates-io)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
@@ -204,6 +205,46 @@ competitive (as in keystroke count) with Vim.")
     (home-page "https://kakoune.org/")
     (license license:unlicense)))
 
+(define-public kak-lsp
+  (package
+   (name "kak-lsp")
+   (version "8.0.0")
+   (source (origin
+            (method git-fetch)
+            (uri (git-reference
+                  (url "https://github.com/kak-lsp/kak-lsp")
+                  (commit (string-append "v" version))))
+            (file-name (git-file-name name version))
+            (sha256 "0nka51szivwhlfkimjiyzj67nxh75m784c28ass6ihlfax631w9m")))
+   (build-system cargo-build-system)
+   (arguments `(#:cargo-inputs
+                (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.4)
+                 ("rust-clap" ,rust-clap-2)
+                 ("rust-daemonize" ,rust-daemonize-0.4)
+                 ("rust-dirs" ,rust-dirs-2.0)
+                 ("rust-enum_primitive" ,rust-enum-primitive-0.1)
+                 ("rust-glob" ,rust-glob-0.3)
+                 ("rust-itertools" ,rust-itertools-0.9)
+                 ("rust-jsonrpc-core" ,rust-jsonrpc-core-14)
+                 ("rust-libc" ,rust-libc-0.2)
+                 ("rust-lsp-types" ,rust-lsp-types-0.73)
+                 ("rust-rand" ,rust-rand-0.7)
+                 ("rust-regex" ,rust-regex-1)
+                 ("rust-ropey" ,rust-ropey-1)
+                 ("rust-serde" ,rust-serde-1)
+                 ("rust-serde_derive" ,rust-serde-derive-1)
+                 ("rust-serde_json" ,rust-serde-json-1)
+                 ("rust-slog" ,rust-slog-2)
+                 ("rust-slog-scope" ,rust-slog-scope-4)
+                 ("rust-sloggers" ,rust-sloggers-0.3)
+                 ("rust-toml" ,rust-toml-0.5)
+                 ("rust-url" ,rust-url-2)
+                 ("rust-whoami" ,rust-whoami-0.8))))
+   (synopsis "Language Server Protocol (LSP) client for Kakoune")
+   (description "Language Server Protocol client for Kakoune implemented in Rust")
+   (home-page "https://github.com/kak-lsp/kak-lsp")
+   (license license:public-domain)))
+
 (define-public joe
   (package
     (name "joe")
-- 
2.30.0