diff options
author | Charles Jackson <charles.b.jackson@protonmail.com> | 2023-09-05 18:42:05 -0500 |
---|---|---|
committer | jgart <jgart@dismail.de> | 2023-09-08 01:26:01 -0500 |
commit | c6ac52e8e6aa6e77ac0824b378904b8269adc789 (patch) | |
tree | 3b0b2f7f587eca3db7b317f55185994f1ad3f9d4 | |
parent | 75ee7ec470683aca5fa062ee714491d575c19359 (diff) |
gnu: Add vim-vlime.
* gnu/packages/vim.scm (vim-vlime): New variable.
Signed-off-by: jgart <jgart@dismail.de>
-rw-r--r-- | gnu/packages/vim.scm | 56 |
1 files changed, 55 insertions, 1 deletions
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index d58b022123..122f0f8ee7 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2021 Tissevert <tissevert+guix@marvid.fr> ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; Copyright © 2022, 2023 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com> +;;; Copyright © 2023 Charles Jackson <charles.b.jackson@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,7 +31,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages vim) - #:use-module ((guix licenses) #:prefix license:) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix gexp) #:use-module (guix utils) @@ -60,6 +61,7 @@ #:use-module (gnu packages jemalloc) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) + #:use-module (gnu packages lisp-xyz) #:use-module (gnu packages lua) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) @@ -1113,6 +1115,58 @@ getting some of these features into Vim. It works with any REPL and isn't tied to Lisp.") (license license:expat)))) +(define-public vim-vlime + ;; The last tag is very outdated. + (let ((commit "c1ac16c1a50bec4c30da87cd4ce2af12e26fb022") + (revision "1")) + (package + (name "vim-vlime") + (version (git-version "0.4.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vlime/vlime") + (commit commit))) + (sha256 + (base32 "1dfc1wyjsgkckrklkzvk4whaz3ahaka59rvm7rc724mabmk83pmp")) + (file-name (git-file-name name version)))) + (build-system copy-build-system) + (arguments + '(#:install-plan + '(("vim/autoload" "share/vim/vimfiles/") + ("vim/doc" "share/vim/vimfiles/") + ("vim/ftplugin" "share/vim/vimfiles/") + ("vim/syntax" "share/vim/vimfiles/") + ("vim/test" "share/vim/vimfiles/") + ;; This is so the Vimscript part of Vlime can find the lisp files. + ("lisp" "share/vim/") + ;; This is so lisp can load Vlime without the Vim part. + ("lisp" "share/common-lisp/source/vlime")) + #:phases + (modify-phases %standard-phases + ;; Create a symbolic link to the .asd file so that + ;; (asdf:load-system "vlime") finds the system. + (add-after 'install 'link-asd + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/share/common-lisp/systems/")) + (symlink (string-append out "/share/common-lisp/source/vlime/vlime.asd") + (string-append out "/share/common-lisp/systems/vlime.asd")))))))) + (propagated-inputs + (list cl-alexandria + cl-slime-swank + cl-usocket + cl-vom + cl-yason)) + (home-page "https://github.com/vlime/vlime") + (synopsis "Common Lisp dev environment for Vim (and Neovim)") + (description "Vlime is similar to SLIME for Emacs and SLIMV for Vim. It +provides REPL integration, as well as omni-completions, cross reference +utilities, a nice inspector, debugger support, and many other great facilities +to aid you in your glorious Common Lisp hacking quest.") + (license license:expat)))) + (define-public vim-paredit ;; The last tagged version is from August 2013. (let ((commit "97d51d099523b37bb35cbcf3564cbfb46e66e4ec") |