projects/guix·blob python-team · refs

1848 lines · 71.1 KiB

1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2013 Cyril Roelandt <[email protected]>
3;;; Copyright © 2016-2026 Efraim Flashner <[email protected]>
4;;; Copyright © 2016, 2017 Nikita <[email protected]>
5;;; Copyright © 2017 Ricardo Wurmus <[email protected]>
6;;; Copyright © 2017 Marius Bakke <[email protected]>
7;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <[email protected]>
8;;; Copyright © 2019 HiPhish <[email protected]>
9;;; Copyright © 2019 Julien Lepiller <[email protected]>
10;;; Copyright © 2019, 2020 Jakub Kądziołka <[email protected]>
11;;; Copyright © 2020, 2021 Jack Hill <[email protected]>
12;;; Copyright © 2021 Simon Tournier <[email protected]>
13;;; Copyright © 2021 Tissevert <[email protected]>
14;;; Copyright © 2021 Foo Chuan Wei <[email protected]>
15;;; Copyright © 2022, 2023 Luis Henrique Gomes Higino <[email protected]>
16;;; Copyright © 2023 Charles Jackson <[email protected]>
17;;; Copyright © 2023 Foundation Devices, Inc. <[email protected]>
18;;; Copyright © 2023, 2024 Nguyễn Gia Phong <[email protected]>
19;;; Copyright © 2025, 2026 Herman Rimm <[email protected]>
20;;;
21;;; This file is part of GNU Guix.
22;;;
23;;; GNU Guix is free software; you can redistribute it and/or modify it
24;;; under the terms of the GNU General Public License as published by
25;;; the Free Software Foundation; either version 3 of the License, or (at
26;;; your option) any later version.
27;;;
28;;; GNU Guix is distributed in the hope that it will be useful, but
29;;; WITHOUT ANY WARRANTY; without even the implied warranty of
30;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31;;; GNU General Public License for more details.
32;;;
33;;; You should have received a copy of the GNU General Public License
34;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
35
36(define-module (gnu packages vim)
37 #:use-module ((guix licenses) #:prefix license:)
38 #:use-module (guix packages)
39 #:use-module (guix gexp)
40 #:use-module (guix utils)
41 #:use-module (guix download)
42 #:use-module (guix git-download)
43 #:use-module (guix build-system cmake)
44 #:use-module (guix build-system copy)
45 #:use-module (guix build-system gnu)
46 #:use-module (guix build-system pyproject)
47 #:use-module (guix build-system qt)
48 #:use-module (guix build-system vim)
49 #:use-module (gnu packages)
50 #:use-module (gnu packages acl)
51 #:use-module (gnu packages admin) ; For GNU hostname
52 #:use-module (gnu packages attr)
53 #:use-module (gnu packages autotools)
54 #:use-module (gnu packages base)
55 #:use-module (gnu packages check)
56 #:use-module (gnu packages code)
57 #:use-module (gnu packages coq)
58 #:use-module (gnu packages documentation)
59 #:use-module (gnu packages enlightenment)
60 #:use-module (gnu packages fontutils)
61 #:use-module (gnu packages gawk)
62 #:use-module (gnu packages gettext)
63 #:use-module (gnu packages glib)
64 #:use-module (gnu packages gperf)
65 #:use-module (gnu packages graphviz)
66 #:use-module (gnu packages groff)
67 #:use-module (gnu packages gtk)
68 #:use-module (gnu packages image)
69 #:use-module (gnu packages jemalloc)
70 #:use-module (gnu packages libevent)
71 #:use-module (gnu packages linux)
72 #:use-module (gnu packages lisp-xyz)
73 #:use-module (gnu packages lua)
74 #:use-module (gnu packages ncurses)
75 #:use-module (gnu packages perl)
76 #:use-module (gnu packages pkg-config)
77 #:use-module (gnu packages python)
78 #:use-module (gnu packages python-build)
79 #:use-module (gnu packages python-xyz)
80 #:use-module (gnu packages qt)
81 #:use-module (gnu packages ruby)
82 #:use-module (gnu packages serialization)
83 #:use-module (gnu packages shells)
84 #:use-module (gnu packages tcl)
85 #:use-module (gnu packages text-editors)
86 #:use-module (gnu packages textutils)
87 #:use-module (gnu packages terminals)
88 #:use-module (gnu packages tree-sitter)
89 #:use-module (gnu packages xdisorg)
90 #:use-module (gnu packages xorg))
91
92(define-public vim
93 (package
94 (name "vim")
95 (version "9.2.0333")
96 (source
97 (origin
98 (method git-fetch)
99 (uri (git-reference
100 (url "https://github.com/vim/vim")
101 (commit (string-append "v" version))))
102 (file-name (git-file-name name version))
103 (sha256
104 (base32 "15qmligkgrzsp8c88i8cmji6vjvq5wmf3hjw2g8lz7dh9i901xdx"))))
105 (build-system gnu-build-system)
106 (arguments
107 (list
108 #:test-target "test"
109 #:parallel-tests? #f
110 #:configure-flags
111 #~(list (string-append "STRIP=" #$(strip-for-target)))
112 #:phases
113 #~(modify-phases %standard-phases
114 (add-after 'configure 'patch-absolute-paths
115 (lambda _
116 (with-directory-excursion "src/testdir"
117 (substitute* '("Makefile"
118 "test_channel.vim"
119 "test_filetype.vim"
120 "test_normal.vim"
121 "test_plugin_matchparen.vim"
122 "test_popupwin.vim"
123 "test_prompt_buffer.vim"
124 "test_shell.vim"
125 "test_suspend.vim"
126 "test_terminal.vim"
127 "test_terminal2.vim")
128 (("/bin/sh") (which "sh")))
129 (substitute* "test_autocmd.vim"
130 (("/bin/kill") (which "kill"))))
131 (substitute* '("runtime/syntax/sh.vim" "src/if_cscope.c")
132 (("/bin/sh" all)
133 (string-append #$(this-package-input "tcsh") all)))))
134 (add-before 'check 'skip-or-fix-failing-tests
135 (lambda _
136 ;; One of the tests tests timezone-dependent functions.
137 (setenv "TZDIR"
138 #$(file-append (this-package-native-input "tzdata")
139 "/share/zoneinfo"))
140
141 ;; Make sure the TERM environment variable is set for the tests.
142 (setenv "TERM" "xterm")
143
144 ;; These tests try to download from the internet.
145 (setenv "TEST_SKIP_PAT" "Test_glvs_default")
146
147 ;; Ignore failure of some flaky tests.
148 (setenv "TEST_MAY_FAIL"
149 (string-join
150 '("Test_write_backup_symlink"
151 ;; These tests compare the output of commands and
152 ;; expect to run on a FHS-compliant system.
153 "Test_echo_verbose_system"
154 "Test_matchparen_ignore_sh_case"
155 "Test_popup_drag_termwin"
156 "Test_combining_double_width"
157 "Test_open_term_from_cmd"
158 "Test_terminal_postponed_scrollback")
159 ","))
160
161 ;; These depend on full bash.
162 (with-directory-excursion "runtime/syntax/testdir/input"
163 (for-each delete-file
164 '("sh_10.sh"
165 "sh_11.sh"
166 "sh_12.sh"
167 "sh_14.sh"
168 "sh_15.sh"
169 "sh_bash.bash"
170 "sh_bash_alias.sh"
171 "sh_functions_bash.sh"
172 "sh_sundrous.bash")))))
173 (add-before 'install 'fix-installman.sh
174 (lambda _
175 (substitute* "src/installman.sh"
176 (("/bin/sh") (which "sh")))))
177 (add-after 'install 'install-guix.vim
178 (lambda _
179 (let ((vimdir (string-append #$output "/share/vim")))
180 (mkdir-p vimdir)
181 (copy-file #$(this-package-native-input "guix.vim")
182 (string-append vimdir "/vimrc"))))))))
183 (inputs
184 (list gawk ncurses perl tcsh)) ; For runtime/tools/vim32
185 (native-inputs
186 `(("libtool" ,libtool)
187 ("guix.vim" ,(local-file (search-auxiliary-file "guix.vim")))
188
189 ;; For tests.
190 ("tzdata" ,tzdata-for-tests)))
191 (home-page "https://www.vim.org/")
192 (synopsis "Text editor based on vi")
193 ;; This description is a subset of the vim-full package description.
194 ;; When making changes, update the other description as well.
195 (description
196 "Vim is a highly configurable text editor built to enable efficient text
197editing. It is an improved version of the vi editor distributed with most UNIX
198systems.
199
200Vim is often called a \"programmer's editor,\" and so useful for programming
201that many consider it an entire IDE. It's not just for programmers, though.
202Vim is perfect for all kinds of text editing, from composing email to editing
203configuration files.")
204 (license license:vim)))
205
206(define-public xxd
207 (package (inherit vim)
208 (name "xxd")
209 (arguments
210 (list
211 #:make-flags #~(list (string-append "CC=" #$(cc-for-target)))
212 #:tests? #f ; there are none
213 #:phases
214 #~(modify-phases %standard-phases
215 (delete 'configure)
216 (add-after 'unpack 'chdir
217 (lambda _
218 (chdir "src/xxd")))
219 (replace 'install
220 (lambda _
221 (install-file "xxd" (string-append #$output "/bin")))))))
222 (inputs `())
223 (native-inputs `())
224 (synopsis "Hexdump utility from vim")
225 (description
226 "This package provides the Hexdump utility xxd that comes
227with the editor vim.")))
228
229(define-public vim-full
230 (package
231 (inherit vim)
232 (name "vim-full")
233 (arguments
234 (substitute-keyword-arguments arguments
235 ((#:configure-flags flags #~'())
236 #~(cons* (string-append "--with-lua-prefix="
237 #$(this-package-input "lua"))
238 "--with-features=huge"
239 "--enable-python3interp=yes"
240 "--enable-perlinterp=yes"
241 "--enable-rubyinterp=yes"
242 "--enable-tclinterp=yes"
243 "--enable-luainterp=yes"
244 "--enable-cscope"
245 "--enable-sniff"
246 "--enable-multibyte"
247 "--enable-xim"
248 "--disable-selinux"
249 "--enable-gui"
250 #$flags))
251 ((#:phases phases)
252 #~(modify-phases #$phases
253 (add-before 'check 'skip-some-more-tests
254 (lambda _
255 ;; Fontconfig can't figure out its cache directory.
256 (substitute* "src/testdir/test_startup.vim"
257 ((".*Test_progname.*" line)
258 (string-append line "return\n")))))
259 ;; Some tests require an X server, but do not start one.
260 (add-before 'check 'start-xserver
261 (lambda _
262 (setenv "DISPLAY" ":1")
263 (zero? (system #$(file-append
264 (this-package-native-input
265 "xorg-server")
266 "/bin/Xvfb :1 &")))))))))
267 (native-inputs
268 (modify-inputs native-inputs
269 (prepend pkg-config xorg-server-for-tests)))
270 (inputs
271 (modify-inputs inputs
272 (append acl
273 at-spi2-core
274 attr
275 cairo
276 fontconfig
277 freetype
278 gdk-pixbuf
279 gettext-minimal
280 glib
281 gpm
282 gtk+-2
283 harfbuzz
284 libice
285 libpng
286 libsm
287 libx11
288 libxdmcp
289 libxt
290 libxpm
291 lua
292 pango
293 pixman
294 python
295 ruby
296 tcl)))
297 ;; This description shares all but the last paragraph with the vim
298 ;; package description. When changing one, also update the other.
299 (description
300 "Vim is a highly configurable text editor built to enable efficient text
301editing. It is an improved version of the vi editor distributed with most UNIX
302systems.
303
304Vim is often called a \"programmer's editor,\" and so useful for programming
305that many consider it an entire IDE. It's not just for programmers, though.
306Vim is perfect for all kinds of text editing, from composing email to editing
307configuration files.
308
309This package provides a version of Vim with many optional features enabled.
310It includes a graphical interface, @command{gvim}, and support for plugins
311written in the Python 3, Perl, Ruby, Tcl, and Lua programming languages.")))
312
313(define-public vim-neocomplete
314 (package
315 (name "vim-neocomplete")
316 (version "2.1")
317 (source
318 (origin
319 (method git-fetch)
320 (uri (git-reference
321 (url "https://github.com/Shougo/neocomplete.vim")
322 (commit (string-append "ver." version))))
323 (file-name (git-file-name name version))
324 (sha256
325 (base32
326 "1h6sci5mhdfg6sjsjpi8l5li02hg858zcayiwl60y9j2gqnd18lv"))))
327 (build-system vim-build-system)
328 (arguments
329 (list #:plugin-name "neocomplete"))
330 (synopsis "Next generation completion framework for Vim")
331 (description
332 "@code{neocomplete}, an abbreviation of 'neo-completion with cache',
333is a plugin for Vim.
334It provides keyword completion system by maintaining a cache of keywords in
335the current buffer. Neocomplete can be customized easily and has many more
336features than Vim's built-in completion.")
337 (home-page "https://github.com/Shougo/neocomplete.vim/")
338 (license license:expat)))
339
340;; There are no release tarballs.
341(define-public vim-neosnippet-snippets
342 (let ((commit "8e2b1c0cab9ed9a832b3743dbb65e9966a64331a")
343 (revision "1"))
344 (package
345 (name "vim-neosnippet-snippets")
346 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
347 (source
348 (origin
349 (method git-fetch)
350 (uri (git-reference
351 (url "https://github.com/Shougo/neosnippet-snippets")
352 (commit commit)))
353 (file-name (string-append name "-" version "-checkout"))
354 (sha256
355 (base32
356 "151wpvbj6jb9jdkbhj3b77f5sq7y328spvwfbqyj1y32rg4ifmc6"))))
357 (build-system vim-build-system)
358 (arguments
359 (list #:plugin-name "neosnippet")) ; Extends neosnippet
360 (synopsis "Snippets for neosnippet")
361 (description
362 "@code{neosnippet-snippets} provides standard snippets for the Vim plugin
363@code{neosnippet}. Snippets are small templates for commonly used code that
364you can fill in on the fly.")
365 (home-page "https://github.com/Shougo/neosnippet-snippets")
366 (license license:expat))))
367
368;; The released tarball is too old for our Vim.
369(define-public vim-neosnippet
370 (let ((commit "1bd7e23c79b73da16eb0c9469b25c376d3594583")
371 (revision "1"))
372 (package
373 (name "vim-neosnippet")
374 (version (string-append "4.2-" revision "." (string-take commit 7)))
375 (source
376 (origin
377 (method git-fetch)
378 (uri (git-reference
379 (url "https://github.com/Shougo/neosnippet.vim/")
380 (commit commit)))
381 (file-name (string-append name "-" version "-checkout"))
382 (sha256
383 (base32
384 "0k80syscmpnj38ks1fq02ds59g0r4jlg9ll7z4qc048mgi35alw5"))))
385 (build-system vim-build-system)
386 (arguments
387 (list #:plugin-name "neosnippet"))
388 (synopsis "Snippet support for Vim")
389 (description
390 "@code{neosnippet}, is a plugin for Vim which adds snippet support to Vim.
391Snippets are small templates for commonly used code that you can fill in on
392the fly. To use snippets can increase your productivity in Vim a lot.
393The functionality of this plug-in is quite similar to plug-ins like
394@code{snipMate.vim} or @code{snippetsEmu.vim}. But since you can choose
395snippets with the neocomplcache / neocomplete interface, you might have less
396trouble using them, because you do not have to remember each snippet name.")
397 (home-page "https://github.com/Shougo/neosnippet.vim/")
398 (license license:expat))))
399
400(define-public vim-scheme
401 (let ((commit "e22fc8e199ef52f2efacd08e71c3add90d83b375")
402 (revision "3"))
403 (package
404 (name "vim-scheme")
405 (version (git-version "0.0.0" revision commit))
406 (source
407 (origin
408 (method git-fetch)
409 (uri (git-reference
410 (url "https://git.foldling.org/vim-scheme.git")
411 (commit commit)))
412 (file-name (git-file-name name version))
413 (sha256
414 (base32
415 "04h946vr4f8wxap3wzqs69y2v8n50g2zbk22jsg2kxr4c01z5cbw"))))
416 (build-system vim-build-system)
417 (arguments
418 (list #:plugin-name "vim-scheme"))
419 (synopsis "Scheme syntax for Vim")
420 (description
421 "@code{vim-scheme} provides Scheme support for Vim (R7RS and CHICKEN).")
422 (home-page "https://foldling.org/git/vim-scheme.git/")
423 (license license:unlicense))))
424
425(define-public vim-luna
426 (let ((commit "633619953dcf8577168e255230f96b05f28d6371")
427 (revision "1"))
428 (package
429 (name "vim-luna")
430 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
431 (source
432 (origin
433 (method git-fetch)
434 (uri (git-reference
435 (url "https://github.com/notpratheek/vim-luna")
436 (commit commit)))
437 (file-name (string-append name "-" version "-checkout"))
438 (sha256
439 (base32
440 "0ka3qbhsh8lix1vyj4678j7dnchkd8khhirrnn3aylxxf8fpqyg8"))))
441 (build-system vim-build-system)
442 (arguments
443 (list #:plugin-name "luna"))
444 (synopsis "Dark color theme for Vim")
445 (description
446 "@code{vim-luna} is a dark color theme for Vim.")
447 (home-page "https://github.com/notpratheek/vim-luna")
448 (license license:expat))))
449
450;; There are no tarball releases.
451(define-public vim-context-filetype
452 (let ((commit "5e85f8cae26806f391aefe2661791a6de53bcea2")
453 (revision "1"))
454 (package
455 (name "vim-context-filetype")
456 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
457 (source
458 (origin
459 (method git-fetch)
460 (uri (git-reference
461 (url "https://github.com/Shougo/context_filetype.vim")
462 (commit commit)))
463 (file-name (string-append name "-" version "-checkout"))
464 (sha256
465 (base32
466 "0alvrfhmd91zkd9h83s8wvgyq4iakcf6rybsyjd369qbgpcqky89"))))
467 (build-system vim-build-system)
468 (arguments
469 (list #:plugin-name "context_filetype"))
470 (synopsis "Context filetype library for Vim")
471 (description
472 "@code{vim-context-filetype} is context filetype library for Vim script.")
473 (home-page "https://github.com/Shougo/context_filetype.vim")
474 (license license:expat)))) ; ??? check again
475
476(define-public vim-coqtail
477 (let ((commit "d77080e17787afe9ad0366d86327658da36febbb")
478 (revision "1"))
479 (package
480 (name "vim-coqtail")
481 (version (git-version "1.7.1" revision commit))
482 (source (origin
483 (method git-fetch)
484 (uri (git-reference
485 (url "https://github.com/whonore/Coqtail")
486 (commit commit)))
487 (file-name (git-file-name name version))
488 (sha256
489 (base32
490 "03qq50mas5dk3aj1rbv1f0x68rfa9b07cacj12sxp76sda9c0prz"))))
491 (build-system vim-build-system)
492 (arguments
493 `(#:plugin-name "coqtail"
494 #:vim ,vim-full ; Plugin needs Python 3.
495 #:phases
496 (modify-phases %standard-phases
497 (add-before 'install 'check
498 (lambda* (#:key inputs native-inputs tests? vim? neovim?
499 #:allow-other-keys)
500 (when tests?
501 (display "Running Python unit tests.\n")
502 (setenv "PYTHONPATH" (string-append (getcwd) "/python"))
503 (invoke "pytest" "-q" "tests/unit")
504
505 (display "Running Python Coq tests.\n")
506 (invoke "pytest" "-q" "tests/coq")
507
508 (display "Running Vim unit tests.\n")
509 (let* ((vim-vader (assoc-ref (or native-inputs inputs)
510 "vim-vader"))
511 (vader-path (string-append
512 vim-vader
513 (if vim?
514 "/share/vim/vimfiles"
515 "/share/nvim/site")
516 "/pack/guix/start/vader"))
517 (command `(,@(if vim? '("vim" "-E") '())
518 ,@(if neovim? '("nvim" "--headless") '())
519 "-Nu" "vimrc"
520 "-c" "Vader! *.vader")))
521 (with-directory-excursion "tests/vim"
522 (when neovim?
523 (setenv "HOME" (getcwd)))
524 (setenv "VADER_PATH" vader-path)
525 (apply invoke command)))
526
527 ;; Remove __pycache__ files generated during testing so that
528 ;; they don't get installed.
529 (delete-file-recursively "python/__pycache__")))))))
530 (native-inputs
531 (list coq-for-coqtail
532 python-pytest
533 vim-vader))
534 (propagated-inputs (list coq coq-ide-server))
535 (synopsis "Interactive Coq proofs in Vim")
536 (description "Coqtail enables interactive Coq proof development in Vim
537similar to CoqIDE or ProofGeneral.")
538 (home-page "https://github.com/whonore/Coqtail")
539 (license license:expat))))
540
541(define-public neovim-coqtail
542 (package
543 (inherit vim-coqtail)
544 (name "neovim-coqtail")
545 (synopsis "Interactive Coq proofs in Neovim")
546 (description "Coqtail enables interactive Coq proof development in Neovim
547similar to CoqIDE or ProofGeneral.")
548 (native-inputs
549 (modify-inputs native-inputs
550 (replace "vim-vader" neovim-vader)
551 (append python-minimal)))))
552
553(define-public vim-fugitive
554 (let ((commit "3b753cf8c6a4dcde6edee8827d464ba9b8c4a6f0")
555 (revision "1"))
556 (package
557 (name "vim-fugitive")
558 (version (git-version "3.7" revision commit))
559 (source
560 (origin
561 (method git-fetch)
562 (uri (git-reference
563 (url "https://github.com/tpope/vim-fugitive")
564 (commit commit)))
565 (file-name (git-file-name name version))
566 (sha256
567 (base32 "12254b827ps68naihdhzdhvcr0v0ksdxwks2yvq63vwwr85xpbqq"))))
568 (build-system vim-build-system)
569 (arguments
570 (list #:plugin-name "fugitive"))
571 (home-page "https://github.com/tpope/vim-fugitive")
572 (synopsis "Vim plugin to work with Git")
573 (description
574 "Vim-fugitive is a wrapper for Vim that complements the
575command window, where you can stage and review your changes before the next
576commit or run any Git arbitrary command.")
577 (license license:vim)))) ; distributed under the same license as vim
578
579(define-public vim-airline
580 (package
581 (name "vim-airline")
582 (version "0.12")
583 (source
584 (origin
585 (method git-fetch)
586 (uri (git-reference
587 (url "https://github.com/vim-airline/vim-airline")
588 (commit (string-append "v" version))))
589 (file-name (git-file-name name version))
590 (sha256
591 (base32
592 "075frqpr54b4shrf78cam6g7kchycbfnmn61mplqk8dj246phfxq"))))
593 (build-system vim-build-system)
594 (arguments
595 (list #:plugin-name "airline"))
596 (synopsis "Statusline for Vim")
597 (description
598 "@code{vim-airline} is an extensible statusline for Vim.
599It can be extended and customized with themes, works with unicode fonts
600and powerline symbols, etc.")
601 (home-page "https://github.com/vim-airline/vim-airline")
602 (license license:expat)))
603
604;; There are no tarball releases.
605(define-public vim-airline-themes
606 (let ((commit "e6f233231b232b6027cde6aebeeb18d9138e5324")
607 (revision "2"))
608 (package
609 (name "vim-airline-themes")
610 (version (git-version "0.0.0" revision commit))
611 (source
612 (origin
613 (method git-fetch)
614 (uri (git-reference
615 (url "https://github.com/vim-airline/vim-airline-themes")
616 (commit commit)))
617 (file-name (git-file-name name version))
618 (sha256
619 (base32
620 "1sb7nb7j7bz0pv1c9bgdy0smhr0jk2b1vbdv9yzghg5lrknpsbr6"))))
621 (build-system vim-build-system)
622 (arguments
623 (list #:plugin-name "airline-themes"))
624 (synopsis "Collection of themes for Vim-airline")
625 (description
626 "@code{vim-airline-themes} is a collection of themes for @code{vim-airline}.")
627 (home-page "https://github.com/vim-airline/vim-airline-themes")
628 (license license:expat))))
629
630(define-public vim-syntastic
631 (package
632 (name "vim-syntastic")
633 (version "3.10.0")
634 (source
635 (origin
636 (method git-fetch)
637 (uri (git-reference
638 (url "https://github.com/vim-syntastic/syntastic")
639 (commit version)))
640 (file-name (git-file-name name version))
641 (sha256
642 (base32 "0j91f72jaz1s6aw1hpjiz30vk2ds2aqd9gisk91grsldy6nz6hhz"))))
643 (build-system vim-build-system)
644 (arguments
645 (list #:plugin-name "syntastic"))
646 (synopsis "Syntax checking plugin for Vim")
647 (description
648 "Vim-syntastic is a syntax checking plugin for Vim. It runs files through
649external syntax checkers and displays any resulting errors to the user. This
650can be done on demand, or automatically as files are saved. If syntax errors
651are detected, the user is notified.")
652 (home-page "https://github.com/vim-syntastic/syntastic")
653 (license license:wtfpl2)))
654
655(define-public neovim-syntastic
656 (package
657 (inherit vim-syntastic)
658 (name "neovim-syntastic")
659 (synopsis "Syntax checking plugin for Neovim")
660 (description
661 "Vim-syntastic is a syntax checking plugin for Neovim. It runs files through
662external syntax checkers and displays any resulting errors to the user. This
663can be done on demand, or automatically as files are saved. If syntax errors
664are detected, the user is notified.")))
665
666(define-public vim-solarized
667 (let ((commit "62f656a02f93c5190a8753159e34b385588d5ff3")
668 (revision "1"))
669 (package
670 (name "vim-solarized")
671 (version (git-version "1.0.0beta1" revision commit))
672 (source
673 (origin
674 (method git-fetch)
675 (uri (git-reference
676 (url "https://github.com/altercation/solarized")
677 (commit commit)))
678 (file-name (git-file-name name version))
679 (sha256
680 (base32 "0001mz5v3a8zvi3gzmxhi3yrsb6hs7qf6i497arsngnvj2cwn61d"))))
681 (build-system vim-build-system)
682 (arguments
683 (list
684 #:plugin-name "solarized"
685 #:phases
686 #~(modify-phases %standard-phases
687 (add-after 'unpack 'chdir
688 (lambda _
689 (chdir "vim-colors-solarized"))))))
690 (home-page "https://github.com/altercation/vim-colors-solarized")
691 (synopsis "Solarized color scheme for Vim")
692 (description
693 "This package provides the Solarized theme as a Vim color scheme.
694
695Solarized is a 16-color palette comprising 8 monotones and 8 accent
696colors. It was designed for use with both terminal and GUI applications, and
697has a dark and a light mode.
698
699Based on CIELAB lightness relationships between colors, this theme reduces
700brightness contrast but retains contrasting hues based on colorwheel relations
701for syntax highlighting readability.
702
703It keeps the same selective contrast relationships and overall feel when
704switching between the light and dark background modes.")
705 (license license:expat))))
706
707(define-public vim-rainbow
708 (package
709 (name "vim-rainbow")
710 (version "5c8094b56568aeaeda9cc09b3ebc6d2ed95e1ad8")
711 (source
712 (origin
713 (method git-fetch)
714 (uri (git-reference
715 (url "https://github.com/mason1920/rainbow")
716 (commit version)))
717 (file-name (git-file-name name version))
718 (sha256
719 (base32 "1jya8wwlkmgs89hndrq6gsaskhk9g0fh62wdib8v9vz2x5g3738z"))))
720 (build-system vim-build-system)
721 (arguments
722 (list
723 #:plugin-name "rainbow"
724 #:mode "opt"
725 #:phases
726 #~(modify-phases %standard-phases
727 (add-after 'unpack 'chdir
728 (lambda _
729 (chdir "opt/rainbow"))))))
730 (home-page "https://github.com/mason1920/rainbow")
731 (synopsis "Rainbow Parentheses Improved")
732 (description
733 "As everyone knows, the most complex codes were composed of a mass of different
734kinds of parentheses (typically: lisp). This plugin will help you read these
735codes by showing different levels of parentheses in different colors.")
736 (license license:asl2.0)))
737
738(define-public editorconfig-vim
739 (package
740 (name "editorconfig-vim")
741 (version "1.1.1")
742 (source
743 (origin
744 (method git-fetch)
745 (uri (git-reference
746 (url "https://github.com/editorconfig/editorconfig-vim")
747 (commit (string-append "v" version))))
748 (file-name (git-file-name name version))
749 (sha256
750 (base32
751 "0mp80bi2m56bb93szw87vy6q5s85yk9g91sl4pr51316rgdv5kkv"))))
752 (build-system vim-build-system)
753 (arguments
754 (list
755 #:plugin-name "editorconfig"
756 #:vim? #t))
757 (home-page "https://editorconfig.org/")
758 (synopsis "EditorConfig plugin for Vim")
759 (description "EditorConfig makes it easy to maintain the correct coding
760style when switching between different text editors and between different
761projects. The EditorConfig project maintains a file format and plugins for
762various text editors which allow this file format to be read and used by those
763editors.")
764 (license license:bsd-2)))
765
766(define-public neovim-packer
767 (let ((commit "3a9f9801f683946b9f1047d8f4bf9946c29e927d")
768 (revision "0"))
769 (package
770 (name "neovim-packer")
771 (version (git-version "0.0.0" revision commit))
772 (source (origin
773 (method git-fetch)
774 (uri (git-reference
775 (url "https://github.com/wbthomason/packer.nvim")
776 (commit commit)))
777 (file-name (git-file-name name version))
778 (sha256
779 (base32
780 "1xn08z3a21mgfvp5i1nv57jnldwxwnl5nkryiff3zc99b1mizigp"))))
781 (build-system vim-build-system)
782 (arguments
783 (list #:plugin-name "packer.nvim"))
784 (home-page "https://github.com/wbthomason/packer.nvim")
785 (synopsis "Plugin manager for Neovim")
786 (description
787 "This package provides a plugin manager for Neovim, inspired by Emacs's
788@code{use-package}. It's written in Lua, supports Luarocks dependencies, and
789is based on Vim's builtin plugin support.")
790 (license license:expat))))
791
792(define-public neovim
793 (package
794 (name "neovim")
795 (version "0.12.1")
796 (source (origin
797 (method git-fetch)
798 (uri (git-reference
799 (url "https://github.com/neovim/neovim")
800 (commit (string-append "v" version))))
801 (file-name (git-file-name name version))
802 (sha256
803 (base32
804 "1lydhvm4abh2y3336nyqqbwiszllnw63c98wdna2mrhi44gfh2jf"))
805 (patches (search-patches "neovim-tree-sitter-grammar-path.patch"))))
806 (build-system cmake-build-system)
807 (arguments
808 (list #:tests? #f
809 #:modules
810 '((srfi srfi-26) (guix build cmake-build-system)
811 (guix build utils))
812 #:configure-flags
813 #~(list #$@(if (member (if (%current-target-system)
814 (gnu-triplet->nix-system (%current-target-system))
815 (%current-system))
816 (package-supported-systems luajit))
817 '()
818 '("-DPREFER_LUA:BOOL=YES"))
819 "-DUSE_BUNDLED:BOOL=NO")
820 #:phases
821 #~(modify-phases %standard-phases
822 (add-after 'unpack 'prevent-embedding-gcc-store-path
823 (lambda _
824 ;; nvim remembers its build options, including the compiler with
825 ;; its complete path. This adds gcc to the closure of nvim, which
826 ;; doubles its size. We remove the reference here.
827 (substitute* "cmake.config/versiondef.h.in"
828 (("\\$\\{CMAKE_C_COMPILER\\}") "/gnu/store/.../bin/gcc"))
829 #t))
830 (add-after 'install 'install-guix-nvim.vim
831 (lambda* (#:key outputs #:allow-other-keys)
832 (let ((nvimdir (string-append (assoc-ref outputs "out")
833 "/share/nvim")))
834 (mkdir-p nvimdir)
835 (copy-file
836 #$(local-file (search-auxiliary-file "guix-nvim.vim"))
837 (string-append nvimdir "/sysinit.vim"))))))))
838 (inputs (list libuv-for-luv
839 msgpack-c
840 libtermkey
841 libvterm
842 unibilium
843 utf8proc
844 jemalloc
845 (if (member (if (%current-target-system)
846 (gnu-triplet->nix-system (%current-target-system))
847 (%current-system))
848 (package-supported-systems luajit))
849 luajit
850 lua-5.1)
851 lua5.1-luv
852 lua5.1-lpeg
853 lua5.1-bitop
854 lua5.1-libmpack
855 tree-sitter))
856 (native-inputs (list pkg-config gettext-minimal gperf))
857 (propagated-inputs
858 ;; bundled tree-sitters, neovim assumes that these are available.
859 ;; See https://neovim.io/doc/user/treesitter.html#treesitter-parsers
860 (list tree-sitter-c
861 tree-sitter-lua
862 tree-sitter-markdown
863 tree-sitter-vim
864 tree-sitter-vimdoc
865 tree-sitter-query))
866 (native-search-paths
867 (list (search-path-specification
868 (variable "TREE_SITTER_GRAMMAR_PATH")
869 (files '("lib/tree-sitter")))))
870 (home-page "https://neovim.io")
871 (synopsis "Fork of vim focused on extensibility and agility")
872 (description
873 "Neovim is a project that seeks to aggressively
874refactor Vim in order to:
875
876@itemize
877@item Simplify maintenance and encourage contributions
878@item Split the work between multiple developers
879@item Enable advanced external UIs without modifications to the core
880@item Improve extensibility with a new plugin architecture
881@end itemize
882")
883 ;; Neovim is licensed under the terms of the Apache 2.0 license,
884 ;; except for parts that were contributed under the Vim license.
885 (license (list license:asl2.0 license:vim))))
886
887(define-public eovim
888 (package
889 (name "eovim")
890 (version "0.2.0")
891 (source
892 (origin
893 (method git-fetch)
894 (uri (git-reference
895 (url "https://github.com/jeanguyomarch/eovim/")
896 (commit (string-append "v" version))))
897 (file-name (git-file-name name version))
898 (sha256
899 (base32 "06b7crmz3wvvq15ncl0jk20s8j1pmna2jin0k5y5n5qxpafbgp3k"))))
900 (build-system cmake-build-system)
901 (arguments
902 '(#:tests? #false ;no tests
903 #:phases
904 (modify-phases %standard-phases
905 (add-after 'unpack 'help-cmake-find-msgpack-c
906 (lambda _
907 ;; Patch the build system so that it can find the modern
908 ;; 'msgpack-c' named pkg-config file (see:
909 ;; https://github.com/jeanguyomarch/eovim/issues/73).
910 (substitute* "cmake/Modules/FindMsgPack.cmake"
911 (("MSGPACK QUIET msgpack")
912 "MSGPACK QUIET msgpack-c msgpack"))))
913 (add-after 'configure 'reference-nvim
914 (lambda* (#:key inputs #:allow-other-keys)
915 (let ((nvim (search-input-file inputs "/bin/nvim")))
916 ;; This substitution should change one line, and replaces the default
917 ;; value in the struct of options with an absolute store reference.
918 (substitute* "../source/src/main.c"
919 (("(^[[:blank:]]+\\.nvim = \")nvim" _ start)
920 (string-append start nvim))))))
921 (add-before 'build 'set-home
922 (lambda _ (setenv "HOME" "/tmp"))))))
923 (native-inputs (list pkg-config))
924 (inputs (list efl msgpack-c neovim))
925 (home-page "https://github.com/jeanguyomarch/eovim/")
926 (synopsis "EFL GUI for Neovim")
927 (description "Graphical Neovim interface based on the @acronym{EFL, Enlightenment
928Foundation Libraries} toolkit. Its features include customizable appearance
929and support for fonts with ligatures.")
930 (license license:expat)))
931
932(define-public vifm
933 (package
934 (name "vifm")
935 (version "0.14.4")
936 (source
937 (origin
938 (method url-fetch)
939 (uri (list
940 (string-append "https://github.com/vifm/vifm/releases/download/v"
941 version "/vifm-" version ".tar.bz2")
942 (string-append "https://sourceforge.net/projects/vifm/files/vifm/"
943 "vifm-" version ".tar.bz2")))
944 (sha256
945 (base32
946 "06yvbzj5m8609xa7sa1inh5m4b1h9z6k6z99s2issafq23n35g20"))))
947 (build-system gnu-build-system)
948 (arguments
949 '(#:configure-flags '("--disable-build-timestamp")
950 #:phases
951 (modify-phases %standard-phases
952 (add-after 'patch-source-shebangs 'patch-test-shebangs
953 (lambda _
954 (substitute* (cons* "data/vim/plugin/vifm.vim"
955 "src/cfg/config.c"
956 (find-files "tests" "\\.c$"))
957 (("/bin/sh") (which "sh"))
958 (("/bin/bash") (which "bash")))
959 ;; This test segfaults
960 (substitute* "tests/Makefile"
961 ((" menus misc") ""))))
962 (add-after 'install 'install-vim-plugin-files
963 (lambda* (#:key outputs #:allow-other-keys)
964 (let* ((out (assoc-ref outputs "out"))
965 (vifm (string-append out "/share/vifm"))
966 (vimfiles (string-append
967 out "/share/vim/vimfiles/pack/guix/start/vifm")))
968 (copy-recursively (string-append vifm "/colors")
969 (string-append vimfiles "/colors"))
970 (copy-recursively (string-append vifm "/vim")
971 vimfiles)
972 (delete-file-recursively (string-append vifm "/vim"))))))))
973 (native-inputs
974 (list groff)) ; for the documentation
975 (inputs
976 (list libx11 ncurses perl))
977 (home-page "https://vifm.info/")
978 (synopsis "Flexible vi-like file manager using ncurses")
979 (description "Vifm is a file manager providing a @command{vi}-like usage
980experience. It has similar keybindings and modes (e.g. normal, command line,
981visual). The interface uses ncurses, thus vifm can be used in text-only
982environments. It supports a wide range of features, some of which are known
983from the @command{vi}-editor:
984@enumerate
985@item utf8 support
986@item user mappings (almost like in @code{vi})
987@item ranges in command
988@item line commands
989@item user defined commands (with support for ranges)
990@item registers
991@item operation undoing/redoing
992@item fuse file systems support
993@item trash
994@item multiple files renaming
995@item support of filename modifiers
996@item colorschemes support
997@item file name color according to file type
998@item path specific colorscheme customization
999@item bookmarks
1000@item operation backgrounding
1001@item customizable file viewers
1002@item handy @code{less}-like preview mode
1003@item filtering out and searching for files using regular expressions
1004@item one or two panes view
1005@end enumerate
1006With the package comes a plugin to use vifm as a vim file selector.")
1007 (license license:gpl2+)))
1008
1009(define-public python-pynvim
1010 (package
1011 (name "python-pynvim")
1012 (version "0.6.0")
1013 (source
1014 (origin
1015 (method git-fetch)
1016 (uri (git-reference
1017 (url "https://github.com/neovim/pynvim")
1018 (commit version)))
1019 (file-name (git-file-name name version))
1020 (sha256
1021 (base32 "0k98c0i14z3adx6l4ncf2zmzk9aykqkdnws6qw4m0yj5z61zh6av"))
1022 ;; This patch can be removed when the next pynvim version after 0.6.0 is
1023 ;; released.
1024 (patches (search-patches "python-pynvim-fix-test-command-error.patch"))))
1025 (build-system pyproject-build-system)
1026 (native-inputs
1027 (list neovim
1028 python-pytest
1029 python-pytest-timeout
1030 python-setuptools))
1031 (propagated-inputs (list python-greenlet python-msgpack))
1032 (home-page "https://github.com/neovim/pynvim")
1033 (synopsis "Python client and plugin host for neovim")
1034 (description
1035 "Pynvim implements support for python plugins in neovim. It also works
1036as a library for connecting to and scripting neovim processes through its
1037msgpack-rpc API.")
1038 (license license:asl2.0)))
1039
1040(define-public vim-guix-vim
1041 (package
1042 (name "vim-guix-vim")
1043 (version "0.4.1")
1044 (source (origin
1045 (method git-fetch)
1046 (uri (git-reference
1047 (url "https://git.sr.ht/~efraim/guix.vim")
1048 (commit version)))
1049 (file-name (git-file-name name version))
1050 (sha256
1051 (base32
1052 "0ii2v94wdh8wn1qrgbn91cxzk3gi09awgxydf2bb6z7b302absh8"))))
1053 (build-system vim-build-system)
1054 (arguments
1055 (list #:plugin-name "guix"))
1056 (home-page "https://git.sr.ht/~efraim/guix.vim")
1057 (synopsis "Guix integration in Vim")
1058 (description "This package provides support for GNU Guix in Vim.")
1059 (license license:vim)))
1060
1061(define-public vim-asyncrun
1062 (package
1063 (name "vim-asyncrun")
1064 (version "2.12.4")
1065 (source (origin
1066 (method git-fetch)
1067 (uri (git-reference
1068 (url "https://github.com/skywind3000/asyncrun.vim")
1069 (commit version)))
1070 (file-name (git-file-name name version))
1071 (sha256
1072 (base32
1073 "0hyz3bgbwmg85534ab71w2sr6fj94mz498ayn9bvhn4g7y6c951n"))))
1074 (build-system vim-build-system)
1075 (arguments
1076 (list
1077 #:plugin-name "asyncrun"))
1078 (home-page "https://github.com/skywind3000/asyncrun.vim")
1079 (synopsis "Run Async Shell Commands in Vim")
1080 (description "This plugin takes the advantage of new APIs in Vim 8 (and
1081NeoVim) to enable you to run shell commands in background and read output in the
1082quickfix window in realtime.")
1083 (license license:expat)))
1084
1085(define-public neovim-asyncrun
1086 (package
1087 (inherit vim-asyncrun)
1088 (name "neovim-asyncrun")))
1089
1090(define-public vim-dispatch
1091 ;; Last release was in June 2019.
1092 (let ((commit "4c695bc052cad2ae6b980aebbe48d046466e27ae")
1093 (revision "1"))
1094 (package
1095 (name "vim-dispatch")
1096 (version (git-version "1.8" revision commit))
1097 (source
1098 (origin
1099 (method git-fetch)
1100 (uri (git-reference
1101 (url "https://github.com/tpope/vim-dispatch")
1102 (commit commit)))
1103 (file-name (git-file-name name version))
1104 (sha256
1105 (base32
1106 "13c63n7gylny2s84k05cpl4cjn070d3qk6yagxny23yanz29hc15"))))
1107 (build-system vim-build-system)
1108 (arguments
1109 (list #:plugin-name "dispatch"))
1110 (home-page "https://github.com/tpope/vim-dispatch")
1111 (synopsis "Asynchronous build and test dispatcher")
1112 (description "Leverage the power of Vim's compiler plugins without being
1113bound by synchronicity. Kick off builds and test suites using one of several
1114asynchronous adapters (including tmux, screen, and a headless mode), and when
1115the job completes, errors will be loaded and parsed automatically.")
1116 (license license:vim))))
1117
1118(define-public neovim-dispatch
1119 (package
1120 (inherit vim-dispatch)
1121 (name "neovim-dispatch")))
1122
1123(define-public vim-gemini-vim
1124 ;; No releases have been tagged.
1125 (let ((commit "f300c54174fc0db8fb68f1bc04307b58612e9630")
1126 (revision "1"))
1127 (package
1128 (name "vim-gemini-vim")
1129 (version (git-version "0.0.0" revision commit))
1130 (source
1131 (origin
1132 (method git-fetch)
1133 (uri (git-reference
1134 (url "https://git.sr.ht/~torresjrjr/gemini.vim")
1135 (commit commit)))
1136 (file-name (git-file-name name version))
1137 (sha256
1138 (base32 "05ffhhfahjqwxyrqmsinsahrs15wknzl2qbj8mznyv319mn2civ2"))))
1139 (build-system vim-build-system)
1140 (arguments
1141 (list #:plugin-name "gemini"))
1142 (home-page "https://git.sr.ht/~torresjrjr/gemini.vim")
1143 (synopsis "Vim syntax highlighting plugin for Gemini")
1144 (description "This Vim plugin provides a Vim syntax highlighting plugin
1145for Gemini Text, the text/gemini media type, as defined in the Gemini protocol
1146specification.")
1147 (license license:gpl3))))
1148
1149(define-public vim-eunuch
1150 (let ((commit "33e875b31c8b811a0a47908884a5e2339106bbe8")
1151 (revision "1"))
1152 (package
1153 (name "vim-eunuch")
1154 (version (git-version "1.2" revision commit))
1155 (source
1156 (origin
1157 (method git-fetch)
1158 (uri (git-reference
1159 (url "https://github.com/tpope/vim-eunuch")
1160 (commit commit)))
1161 (file-name (git-file-name name version))
1162 (sha256
1163 (base32
1164 "1xadb22kd40swmww0qxmmkcpcq6viy8l167pjck5q32hfngll5d3"))))
1165 (build-system vim-build-system)
1166 (arguments
1167 (list #:plugin-name "eunuch"))
1168 (home-page "https://github.com/tpope/vim-eunuch")
1169 (synopsis "Vim sugar for the UNIX shell commands")
1170 (description "Vim sugar for the UNIX shell commands that need it the most.
1171This package includes commands such as @code{SudoWrite} and @code{SudoEdit} and
1172help working on Vim buffers and the files they reference with one command.")
1173 (license license:vim))))
1174
1175(define-public vim-slime
1176 ;; No tagged releases.
1177 (let ((commit "a522fed677e50175f52efc5848cc35209af33216")
1178 (revision "1"))
1179 (package
1180 (name "vim-slime")
1181 (version (git-version "0.0.0" revision commit))
1182 (source
1183 (origin
1184 (method git-fetch)
1185 (uri (git-reference
1186 (url "https://github.com/jpalardy/vim-slime")
1187 (commit commit)))
1188 (file-name (git-file-name name version))
1189 (sha256
1190 (base32 "0k4b629jn6xlxyjxdl3cgm06v9dmx967rqnslv5m82c9kscwpyh4"))))
1191 (build-system vim-build-system)
1192 (arguments
1193 (list #:plugin-name "vim-slime"))
1194 (home-page "https://technotales.wordpress.com/2007/10/03/like-slime-for-vim/")
1195 (synopsis "Vim plugin to give you some slime")
1196 (description "SLIME is an Emacs plugin to turn Emacs into a Lisp IDE. You
1197can type text in a file, send it to a live REPL, and avoid having to reload all
1198your code every time you make a change. @code{Vim-slime} is an attempt at
1199getting some of these features into Vim. It works with any REPL and isn't tied
1200to Lisp.")
1201 (license license:expat))))
1202
1203(define-public vim-vlime
1204 ;; The last tag is very outdated.
1205 (let ((commit "c1ac16c1a50bec4c30da87cd4ce2af12e26fb022")
1206 (revision "1"))
1207 (package
1208 (name "vim-vlime")
1209 (version (git-version "0.4.0" revision commit))
1210 (source
1211 (origin
1212 (method git-fetch)
1213 (uri (git-reference
1214 (url "https://github.com/vlime/vlime")
1215 (commit commit)))
1216 (sha256
1217 (base32 "1dfc1wyjsgkckrklkzvk4whaz3ahaka59rvm7rc724mabmk83pmp"))
1218 (file-name (git-file-name name version))))
1219 (build-system vim-build-system)
1220 (arguments
1221 '(#:plugin-name "vlime"
1222 #:phases
1223 (modify-phases %standard-phases
1224 (add-after 'install 'symlink-files
1225 (lambda* (#:key outputs plugin-name mode #:allow-other-keys)
1226 (with-directory-excursion
1227 (string-append (assoc-ref outputs "out")
1228 "/share/vim/vimfiles/pack/guix/" mode "/" plugin-name)
1229 (for-each (lambda (dir)
1230 (symlink (string-append "./vim/" dir) dir))
1231 (list "after" "autoload" "doc" "ftplugin" "syntax")))))
1232 (add-after 'symlink-files 'install-lisp-files
1233 (lambda* (#:key outputs #:allow-other-keys)
1234 (let* ((out (assoc-ref outputs "out"))
1235 (common-lisp (string-append out "/share/common-lisp")))
1236 ;; Create a symbolic link to the .asd file so that
1237 ;; (asdf:load-system "vlime") finds the system.
1238 (copy-recursively "lisp" (string-append common-lisp "/source/vlime"))
1239 (mkdir-p (string-append common-lisp "/systems/"))
1240 (symlink (string-append common-lisp "/source/vlime/vlime.asd")
1241 (string-append common-lisp "/systems/vlime.asd"))))))))
1242 (propagated-inputs
1243 (list cl-alexandria
1244 cl-slime-swank
1245 cl-usocket
1246 cl-vom
1247 cl-yason))
1248 (home-page "https://github.com/vlime/vlime")
1249 (synopsis "Common Lisp dev environment for Vim (and Neovim)")
1250 (description "Vlime is similar to SLIME for Emacs and SLIMV for Vim. It
1251provides REPL integration, as well as omni-completions, cross reference
1252utilities, a nice inspector, debugger support, and many other great facilities
1253to aid you in your glorious Common Lisp hacking quest.")
1254 (license license:expat))))
1255
1256(define-public vim-paredit
1257 ;; The last tagged version is from August 2013.
1258 (let ((commit "97d51d099523b37bb35cbcf3564cbfb46e66e4ec")
1259 (revision "1"))
1260 (package
1261 (name "vim-paredit")
1262 (version (git-version "0.9.11" revision commit))
1263 (source
1264 (origin
1265 (method git-fetch)
1266 (uri (git-reference
1267 (url "https://github.com/kovisoft/paredit")
1268 (commit commit)))
1269 (file-name (git-file-name name version))
1270 (sha256
1271 (base32 "07d5s20r0ssd7rir45vy0fqlci44gha1a81rcilgar227f3nw328"))))
1272 (build-system vim-build-system)
1273 (arguments
1274 (list #:plugin-name "paredit"))
1275 (home-page "https://github.com/kovisoft/paredit")
1276 (synopsis "Vim plugin for structured editing of Lisp S-expressions")
1277 (description
1278 "Paredit performs structured editing of Lisp S-expressions in Vim.
1279@code{Paredit.vim} is similar to @code{paredit.el} for Emacs.")
1280 ;; License listed in plugin/paredit.vim.
1281 (license license:public-domain))))
1282
1283(define-public vim-surround
1284 (package
1285 (name "vim-surround")
1286 (version "2.2")
1287 (source
1288 (origin
1289 (method git-fetch)
1290 (uri (git-reference
1291 (url "https://github.com/tpope/vim-surround")
1292 (commit (string-append "v" version))))
1293 (file-name (git-file-name name version))
1294 (sha256
1295 (base32 "1b0bd5m5lv1p4d299mrwjfs2gk0zqwyaqdaid9hs9yqlxnr8s5nf"))))
1296 (build-system vim-build-system)
1297 (arguments
1298 (list #:plugin-name "surround"))
1299 (home-page "https://github.com/tpope/vim-surround")
1300 (synopsis "Vim plugin for easy quoting and parenthesizing")
1301 (description
1302 "Surround.vim is all about \"surroundings\": parentheses, brackets,
1303quotes, XML tags, and more. The plugin provides mappings to easily delete,
1304change and add such surroundings in pairs.")
1305 (license license:vim)))
1306
1307(define-public vim-gnupg
1308 (package
1309 (name "vim-gnupg")
1310 (version "2.7.1")
1311 (source
1312 (origin
1313 (method git-fetch)
1314 (uri (git-reference
1315 (url "https://github.com/jamessan/vim-gnupg")
1316 (commit (string-append "v" version))))
1317 (file-name (git-file-name name version))
1318 (sha256
1319 (base32 "0fdri8vnd3k7vi4y6a2vrx4d9wkf56dm1qs4q3hc1wwqd2141qi3"))))
1320 (build-system vim-build-system)
1321 (arguments
1322 (list #:plugin-name "vim-gnupg"))
1323 (home-page "https://www.vim.org/scripts/script.php?script_id=3645")
1324 (synopsis "Vim plugin for transparent editing of gpg encrypted files")
1325 (description
1326 "This script implements transparent editing of gpg encrypted files. The
1327filename must have a @code{.gpg}, @code{.pgp} or @code{.asc} suffix. When
1328opening such a file the content is decrypted, and the content will be encrypted
1329to all recipients before it is written. This script turns off viminfo,
1330swapfile, and undofile when editing encrypted files to increase security.")
1331 (license license:gpl2+)))
1332
1333(define-public vim-ctrlp
1334 (package
1335 (name "vim-ctrlp")
1336 (version "1.81")
1337 (source
1338 (origin
1339 (method git-fetch)
1340 (uri (git-reference
1341 (url "https://github.com/ctrlpvim/ctrlp.vim")
1342 (commit version)))
1343 (file-name (git-file-name name version))
1344 (sha256
1345 (base32 "0n68hg59h4rjn0ziqbsh5pr03l3kr98zk54659ny6vq107af1w96"))))
1346 (build-system vim-build-system)
1347 (arguments
1348 (list #:plugin-name "ctrlp.vim"))
1349 (home-page "https://ctrlpvim.github.io/ctrlp.vim/")
1350 (synopsis "Fuzzy file, buffer, mru, tag, etc. finder for Vim")
1351 (description
1352 "CtrlP features:
1353@itemize
1354@item Written in pure Vimscript for MacVim, gVim and Vim 7.0+.
1355@item Full support for Vim's regexp as search patterns.
1356@item Built-in @acronym{Most Recently Used, MRU} files monitoring and search.
1357@item Built-in project's root finder.
1358@item Open multiple files at once.
1359@item Create new files and directories.
1360@item Execute Ex commands on an opening file (jump to a line, to a string or do
1361anything).
1362@item Optional cross-session caching and history allow for fast initialization.
1363@item Mappings and usage conform to Vim's conventions.
1364@end itemize")
1365 (license license:vim)))
1366
1367(define-public vim-mucomplete
1368 (package
1369 (name "vim-mucomplete")
1370 (version "1.5.0")
1371 (source
1372 (origin
1373 (method git-fetch)
1374 (uri (git-reference
1375 (url "https://github.com/lifepillar/vim-mucomplete")
1376 (commit (string-append "v" version))))
1377 (file-name (git-file-name name version))
1378 (sha256
1379 (base32 "054g80n09mmxxlh8xaic29bn8bgn3clvv732rymljdyvbj1mlhwd"))))
1380 (build-system vim-build-system)
1381 (arguments
1382 (list #:plugin-name "MUcomplete"))
1383 (home-page "https://github.com/lifepillar/vim-mucomplete")
1384 (synopsis "MUcomplete is a minimalist autocompletion plugin for Vim")
1385 (description
1386 "MUcomplete is an implementation of chained (fallback) completion,
1387whereby several completion methods are attempted one after another until a
1388result is returned.")
1389 (license license:expat)))
1390
1391(define-public vim-gitgutter
1392 (let ((commit "256702dd1432894b3607d3de6cd660863b331818")
1393 (revision "1"))
1394 (package
1395 (name "vim-gitgutter")
1396 (version (git-version "0.0.0" revision commit))
1397 (source
1398 (origin
1399 (method git-fetch)
1400 (uri (git-reference
1401 (url "https://github.com/airblade/vim-gitgutter")
1402 (commit commit)))
1403 (file-name (git-file-name name version))
1404 (sha256
1405 (base32 "0zpa7cs59a8sq0k3frlf9flpf30jcn239yrpmv40r7nqvxzglbpl"))))
1406 (build-system vim-build-system)
1407 (arguments
1408 (list #:plugin-name "gitgutter"))
1409 (synopsis "Vim plugin which shows a git diff in the sign column")
1410 (description
1411 "A Vim plugin which shows a git diff in the sign column. It shows which
1412lines have been added, modified, or removed. You can also preview, stage, and
1413undo individual hunks; and stage partial hunks. The plugin also provides a hunk
1414text object. The signs are always up to date and the plugin never saves your
1415buffer.")
1416 (home-page "https://github.com/airblade/vim-gitgutter")
1417 (license license:expat))))
1418
1419(define-public vim-characterize
1420 (package
1421 (name "vim-characterize")
1422 (version "1.1")
1423 (source
1424 (origin
1425 (method git-fetch)
1426 (uri (git-reference
1427 (url "https://github.com/tpope/vim-characterize")
1428 (commit (string-append "v" version))))
1429 (file-name (git-file-name name version))
1430 (sha256
1431 (base32 "0ppsbsd696ih40d9f76mdl9sd9y7p2pvm65qmvq4b2zhkv4xbpxz"))))
1432 (build-system vim-build-system)
1433 (arguments
1434 (list #:plugin-name "characterize"))
1435 (home-page "https://github.com/tpope/vim-characterize")
1436 (synopsis "Vim plugin for showing Unicode character metadata")
1437 (description
1438 "In Vim, pressing @code{ga} on a character reveals its representation in
1439decimal, octal, and hex. Characterize.vim modernizes this with the following
1440additions:
1441@itemize
1442@item Unicode character names: @code{U+00A9 COPYRIGHT SYMBOL}
1443@item Vim digraphs (type after @code{<C-K>} to insert the character):
1444@code{Co}, @code{cO}
1445@item Emoji codes: @code{:copyright:}
1446@item HTML entities: @code{&copy;}
1447@end itemize")
1448 (license license:vim)))
1449
1450(define-public vim-tagbar
1451 (package
1452 (name "vim-tagbar")
1453 (version "3.0.0")
1454 (source
1455 (origin
1456 (method git-fetch)
1457 (uri (git-reference
1458 (url "https://github.com/preservim/tagbar")
1459 (commit (string-append "v" version))))
1460 (file-name (git-file-name name version))
1461 (sha256
1462 (base32 "1fqfs8msmr6d4kpvxqp14sdjvp5fj52q5w5kz71myzcd4kqzmirp"))))
1463 (build-system vim-build-system)
1464 (arguments
1465 '(#:plugin-name "tagbar"
1466 #:phases
1467 (modify-phases %standard-phases
1468 (add-after 'unpack 'link-universal-ctags
1469 (lambda* (#:key inputs #:allow-other-keys)
1470 (let ((ctags (assoc-ref inputs "universal-ctags")))
1471 (substitute* "autoload/tagbar.vim"
1472 (("(.*)universal-ctags']" all leader)
1473 (string-append all "\n"
1474 leader ctags "/bin/ctags']")))))))))
1475 (inputs
1476 (list universal-ctags))
1477 (home-page "https://github.com/preservim/tagbar")
1478 (synopsis "Vim plugin that displays tags in a window, ordered by scope")
1479 (description
1480 "Tagbar is a Vim plugin that provides an easy way to browse the tags of
1481the current file and get an overview of its structure. It does this by creating
1482a sidebar that displays the ctags-generated tags of the current file, ordered
1483by their scope. This means that for example methods in C++ are displayed under
1484the class they are defined in.")
1485 (license license:vim)))
1486
1487(define-public vim-nerdtree
1488 (package
1489 (name "vim-nerdtree")
1490 (version "6.10.16")
1491 (source
1492 (origin
1493 (method git-fetch)
1494 (uri (git-reference
1495 (url "https://github.com/preservim/nerdtree")
1496 (commit version)))
1497 (file-name (git-file-name name version))
1498 (sha256
1499 (base32 "1si8qla86ng8cffbmfrk9gss0i3912yw0f1ph4bsiq0kk837lccp"))))
1500 (build-system vim-build-system)
1501 (arguments
1502 (list #:plugin-name "nerdtree"))
1503 (home-page "https://github.com/preservim/nerdtree")
1504 (synopsis "Tree explorer plugin for Vim")
1505 (description
1506 "The NERDTree is a file system explorer for the Vim editor. Using this
1507plugin, users can visually browse complex directory hierarchies, quickly open
1508files for reading or editing, and perform basic file system operations.")
1509 (license license:wtfpl2)))
1510
1511(define-public vim-nerdcommenter
1512 (package
1513 (name "vim-nerdcommenter")
1514 (version "2.6.0")
1515 (source
1516 (origin
1517 (method git-fetch)
1518 (uri (git-reference
1519 (url "https://github.com/preservim/nerdcommenter")
1520 (commit version)))
1521 (file-name (git-file-name name version))
1522 (sha256
1523 (base32 "1ka2rqn7rby55aps3iblh1dcqxm7m7qx72mpkz6y2aaj8mkj0zyd"))))
1524 (build-system vim-build-system)
1525 (arguments
1526 (list #:plugin-name "nerdcommenter"))
1527 (home-page "https://github.com/preservim/nerdcommenter")
1528 (synopsis "Vim plugin for easy commenting of code")
1529 (description
1530 "NERD commenter is a Vim plugin that provides many different commenting
1531operations and styles which are invoked via key mappings and a menu. These
1532operations are available for most filetypes.")
1533 (license license:cc0)))
1534
1535(define-public vim-vader
1536 (let ((revision "1")
1537 (commit "429b669e6158be3a9fc110799607c232e6ed8e29"))
1538 (package
1539 (name "vim-vader")
1540 (version (git-version "0.4.0" revision commit))
1541 (source (origin
1542 (method git-fetch)
1543 (uri (git-reference
1544 (url "https://github.com/junegunn/vader.vim")
1545 (commit commit)))
1546 (file-name (git-file-name name version))
1547 (sha256
1548 (base32
1549 "0jf4gshr31c1i64f6qykqq17nsasfaljrqz41kzqcxw8fvra8y4c"))))
1550 (build-system vim-build-system)
1551 (arguments
1552 '(#:plugin-name "vader"
1553 #:phases
1554 (modify-phases %standard-phases
1555 (add-before 'install 'check
1556 (lambda* (#:key tests? vim? neovim? #:allow-other-keys)
1557 (when tests?
1558 ;; FIXME: suite1.vader, suite2.vader and
1559 ;; highlight-after-comment.vader fail with unknown reasons,
1560 ;; lang-if.vader requires Python and Ruby.
1561 (substitute* "test/vader.vader"
1562 (("Include.*feature/suite1.vader.*$") "")
1563 (("Include.*feature/suite2.vader.*$") "")
1564 (("Include.*feature/lang-if.vader.*$") "")
1565 (("Include.*regression/highlight-after-comment.vader.*$") ""))
1566
1567 (display "Running Vim tests\n")
1568 (with-directory-excursion "test"
1569 (when vim?
1570 (setenv "VADER_TEST_VIM" "vim -E"))
1571 (when neovim?
1572 (setenv "VADER_TEST_VIM" "nvim --headless"))
1573 (invoke "bash" "./run-tests.sh"))))))))
1574 (home-page "https://github.com/junegunn/vader.vim")
1575 (synopsis "Test framework for Vimscript")
1576 (description "Vader is a test framework for Vimscript designed to
1577simplify the process of writing and running unit tests. Vader.vim provides an
1578intuitive test syntax for defining test cases and expectations, it also can
1579be integrated with @acronym{CI, Continuous Integration} pipelines to
1580automate testing and is compatible with Vim and Neovim.")
1581 (license license:expat)))) ;; Specified in README.md.
1582
1583(define-public neovim-vader
1584 (package
1585 (inherit vim-vader)
1586 (name "neovim-vader")))
1587
1588(define-public vim-jedi-vim
1589 (package
1590 (name "vim-jedi-vim")
1591 (version "0.11.2")
1592 (source
1593 (origin
1594 (method git-fetch)
1595 (uri (git-reference
1596 (url "https://github.com/davidhalter/jedi-vim")
1597 (commit (string-append "v" version))))
1598 (file-name (git-file-name name version))
1599 (sha256
1600 (base32 "03fj7f5cpchrdmz9szal6fdg05wdwb0j6260nnyp37nmpcpn13yc"))))
1601 (build-system vim-build-system)
1602 (arguments (list #:plugin-name "jedi-vim"))
1603 (propagated-inputs (list python-jedi))
1604 (home-page "https://github.com/davidhalter/jedi-vim")
1605 (synopsis "Jedi autocompletion library for Vim")
1606 (description
1607 "@code{jedi-vim} is a VIM binding to the autocompletion library Jedi.")
1608 (license license:expat)))
1609
1610(define-public vim-srcery-vim
1611 (package
1612 (name "vim-srcery-vim")
1613 (version "2.0.0")
1614 (source
1615 (origin
1616 (method git-fetch)
1617 (uri (git-reference
1618 (url "https://github.com/srcery-colors/srcery-vim")
1619 (commit (string-append "v" version))))
1620 (file-name (git-file-name name version))
1621 (sha256
1622 (base32 "0nwk81y9j5ljjm3k19kf1zmscdxiis4mwan026wv7cqp7f9qhxlr"))))
1623 (build-system vim-build-system)
1624 (arguments
1625 (list #:plugin-name "srcery"
1626 #:mode "opt"))
1627 (home-page "https://srcery.sh")
1628 (synopsis "Dark colorscheme for gvim and vim")
1629 (description
1630 "Srcery is a color scheme with clearly defined contrasting colors
1631and a slightly earthy tone.")
1632 (license license:expat)))
1633
1634(define-public vim-commentary
1635 (let ((commit "e87cd90dc09c2a203e13af9704bd0ef79303d755")
1636 (revision "1"))
1637 (package
1638 (name "vim-commentary")
1639 (version (git-version "1.3" revision commit))
1640 (source
1641 (origin
1642 (method git-fetch)
1643 (uri (git-reference
1644 (url "https://github.com/tpope/vim-commentary")
1645 (commit commit)))
1646 (file-name (string-append name "-" version "-checkout"))
1647 (sha256
1648 (base32 "09kzc89iwkgsi4wvjxk56fis462kkz5chcl9sl4hdbmpa1f41wy0"))))
1649 (build-system vim-build-system)
1650 (arguments
1651 (list
1652 #:plugin-name "commentary.vim"))
1653 (synopsis "Vim plugin for commenting out code")
1654 (description
1655 "Comment stuff out. Use gcc to comment out a line (takes a count), gc to
1656comment out the target of a motion (for example, gcap to comment out a
1657paragraph), gc in visual mode to comment out the selection, and gc in operator
1658pending mode to target a comment. You can also use it as a command, either with
1659a range like :7,17Commentary, or as part of a :global invocation like with
1660:g/TODO/Commentary.")
1661 (home-page "https://www.vim.org/scripts/script.php?script_id=3695")
1662 (license license:vim))))
1663
1664(define-public vim-guile
1665 (let ((commit "f76959a9dbdc69cde018901de82ac5a3d443843c")
1666 (revision "1"))
1667 (package
1668 (name "vim-guile")
1669 (version (git-version "0.0.0" revision commit))
1670 (source
1671 (origin
1672 (method git-fetch)
1673 (uri (git-reference
1674 (url "https://github.com/HiPhish/guile.vim")
1675 (commit commit)))
1676 (file-name (string-append name "-" version "-checkout"))
1677 (sha256
1678 (base32 "1pqlhssdnpd8ngjc5bssma7ddjhffvh8hj67gchmyyxr5jfxwdq9"))))
1679 (build-system vim-build-system)
1680 (arguments
1681 (list
1682 #:plugin-name "guile.vim"))
1683 (synopsis "Syntax highlighting for GNU Guile")
1684 (description
1685 "This plugin extends Vim's Scheme support to include the additions to
1686the language provided by the GNU Guile implementation. The plugin automatically
1687detects whether a Scheme file is a Guile file and adds syntax highlighting for
1688Guile's special forms.")
1689 (home-page "https://github.com/HiPhish/guile.vim")
1690 (license license:expat))))
1691
1692(define-public vim-dhall-vim
1693 (let ((commit "68500ef46ff3706f46c99db3be7a0c8abcf6a3ae")
1694 (revision "1"))
1695 (package
1696 (name "vim-dhall-vim")
1697 (version (git-version "0.0.0" revision commit))
1698 (source
1699 (origin
1700 (method git-fetch)
1701 (uri (git-reference
1702 (url "https://github.com/vmchale/dhall-vim")
1703 (commit commit)))
1704 (file-name (string-append name "-" version "-checkout"))
1705 (sha256
1706 (base32 "0lwna4kcq7davfvh3535n8wl9jxkjm7cg6jgpisd17kvagihh8qw"))))
1707 (build-system vim-build-system)
1708 (arguments
1709 (list
1710 #:plugin-name "dhall-vim"))
1711 (synopsis "Vim configuration for Dhall")
1712 (description
1713 "A vim plugin to provide support and syntax highlighting for the Dhall
1714programming language")
1715 (home-page "https://github.com/vmchale/dhall-vim")
1716 (license license:bsd-3))))
1717
1718(define-public vim-mundo
1719 (let ((commit "b53d35fb5ca9923302b9ef29e618ab2db4cc675e")
1720 (revision "1"))
1721 (package
1722 (name "vim-mundo")
1723 (version (git-version "3.1.0" revision commit))
1724 (source
1725 (origin
1726 (method git-fetch)
1727 (uri (git-reference
1728 (url "https://github.com/simnalamburt/vim-mundo")
1729 (commit commit)))
1730 (file-name (string-append name "-" version "-checkout"))
1731 (sha256
1732 (base32 "1dwrarcxrh8in78igm036lpvyww60c93vmmlk8h054i3v2p8vv59"))))
1733 (build-system vim-build-system)
1734 (arguments
1735 (list
1736 #:plugin-name "Mundo"))
1737 (synopsis "Vim undo tree visualizer")
1738 (description "A Vim plugin to visualize the Vim undo tree")
1739 (home-page "https://simnalamburt.github.io/vim-mundo/")
1740 (license license:gpl2))))
1741
1742(define-public vim-zig
1743 (let ((commit "54c216e5306a5c3878a60596aacb94dca8652ab9")
1744 (revision "1"))
1745 (package
1746 (name "vim-zig")
1747 (version (git-version "0.0.0" revision commit))
1748 (source
1749 (origin
1750 (method git-fetch)
1751 (uri (git-reference
1752 (url "https://github.com/ziglang/zig.vim")
1753 (commit commit)))
1754 (file-name (string-append name "-" version "-checkout"))
1755 (sha256
1756 (base32 "1nxwjyn3ps3c2abffai5cql3czl4kah4cin0g30damy1k99ypncb"))))
1757 (build-system vim-build-system)
1758 (arguments
1759 (list
1760 #:plugin-name "zig.vim"))
1761 (synopsis "Vim configuration for Zig")
1762 (description
1763 "File detection and syntax highlighting for the zig programming
1764language.")
1765 (home-page "https://github.com/ziglang/zig.vim")
1766 (license license:expat))))
1767
1768(define-public vim-plantuml-syntax
1769 (let ((commit "845abb56dcd3f12afa6eb47684ef5ba3055802b8")
1770 (revision "1"))
1771 (package
1772 (name "vim-plantuml-syntax")
1773 (version (git-version "0.0.0" revision commit))
1774 (source
1775 (origin
1776 (method git-fetch)
1777 (uri (git-reference
1778 (url "https://github.com/aklt/plantuml-syntax")
1779 (commit commit)))
1780 (file-name (string-append name "-" version "-checkout"))
1781 (sha256
1782 (base32 "0d2frv6knkj4bjavq2c2kx8qdnmcq0d8l04a5z7bpqwkmrrhd31f"))))
1783 (build-system vim-build-system)
1784 (arguments
1785 (list
1786 #:plugin-name "plantuml-syntax"))
1787 (synopsis "Syntax highlighting for PlantUML")
1788 (description
1789 "This is a vim syntax file for PlantUML. The filetype will be set to
1790plantuml for *.pu, *.uml, *.puml, *.iuml or *.plantuml files or if the first
1791line of a file contains @@startuml. Additionally the makeprg is set to plantuml
1792assuming you have this executable in your path.")
1793 (home-page "https://github.com/aklt/plantuml-syntax")
1794 (license license:vim))))
1795
1796(define-public neovim-qt
1797 (package
1798 (name "neovim-qt")
1799 (version "0.2.19")
1800 (source
1801 (origin
1802 (method git-fetch)
1803 (uri (git-reference
1804 (url "https://github.com/equalsraf/neovim-qt")
1805 (commit (string-append "v" version))))
1806 (file-name (git-file-name name version))
1807 (sha256
1808 (base32 "0i7gr33q85mg1znf2383lqan7cbsb2kh7k9hzzb62yjmgj1yvgmg"))))
1809 (build-system qt-build-system)
1810 (native-inputs (list doxygen graphviz xvfb-run))
1811 (inputs (list msgpack-c neovim python qtsvg))
1812 (arguments
1813 (list
1814 #:qtbase qtbase
1815 #:configure-flags
1816 #~(list "-DWITH_QT:STRING=Qt6" "-DUSE_SYSTEM_MSGPACK:BOOL=ON"
1817 "-DENABLE_TESTS:BOOL=ON")
1818 #:phases
1819 #~(modify-phases %standard-phases
1820 (add-after 'unpack 'replace-default-nvim-bin-path
1821 (lambda* _
1822 (let ((nvim-bin-path (which "nvim")))
1823 (substitute* "src/gui/app.cpp"
1824 (("(parser.value\\(\"nvim\"\\) : \")(nvim)(\" };)" all start
1825 nvim-bin end)
1826 (string-append start nvim-bin-path end))
1827 ((", nvim\\{ parser.value\\(\"nvim\"\\) \\}")
1828 (string-append ", nvim{ (parser.isSet(\"nvim\")) ?\n"
1829 "parser.value(\"nvim\") : \"" nvim-bin-path
1830 "\"}"))))))
1831 (replace 'check
1832 (lambda* (#:key tests? #:allow-other-keys)
1833 (when tests?
1834 (let ((xdg-runtime-dir (string-append (getcwd) "/runtime-dir")))
1835 ;; QStandardPaths: wrong permissions on runtime directory
1836 (setenv "XDG_RUNTIME_DIR" xdg-runtime-dir)
1837 (mkdir xdg-runtime-dir)
1838 (chmod xdg-runtime-dir #o700))
1839 (setenv "QT_QPA_PLATFORM" "offscreen")
1840 (setenv "HOME"
1841 (getenv "TMPDIR"))
1842 ;; TODO: Investigate failure of tst_shell
1843 (invoke "xvfb-run" "ctest" "--exclude-regex" "tst_shell")))))))
1844 (synopsis "Neovim client library and GUI, in Qt")
1845 (description
1846 "Neovim Qt is a lightweight cross-platform Neovim GUI written in C++ with Qt.")
1847 (home-page "https://github.com/equalsraf/neovim-qt")
1848 (license license:isc)))