diff options
Diffstat (limited to 'gnu/packages/vim.scm')
-rw-r--r-- | gnu/packages/vim.scm | 55 |
1 files changed, 40 insertions, 15 deletions
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 9debed0b86..1f7a005cb1 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -470,11 +470,13 @@ trouble using them, because you do not have to remember each snippet name.") "0av2m075n6z05ah9ndrgnp9s16yrz6n2lj0igd9fh3c5k41x5xks")))) (build-system vim-build-system) (arguments - '(#:plugin-name "coqtail" + `(#:plugin-name "coqtail" + #:vim ,vim-full ; Plugin needs Python 3. #:phases (modify-phases %standard-phases (add-before 'install 'check - (lambda* (#:key inputs native-inputs tests? #:allow-other-keys) + (lambda* (#:key inputs native-inputs tests? vim? neovim? + #:allow-other-keys) (when tests? (display "Running Python unit tests.\n") (setenv "PYTHONPATH" (string-append (getcwd) "/python")) @@ -488,23 +490,27 @@ trouble using them, because you do not have to remember each snippet name.") "vim-vader")) (vader-path (string-append vim-vader - "/share/vim/vimfiles/pack/guix/start/vader"))) + (if vim? + "/share/vim/vimfiles" + "/share/nvim/site") + "/pack/guix/start/vader")) + (command `(,@(if vim? '("vim" "-E") '()) + ,@(if neovim? '("nvim" "--headless") '()) + "-Nu" "vimrc" + "-c" "Vader! *.vader"))) (with-directory-excursion "tests/vim" + (when neovim? + (setenv "HOME" (getcwd))) (setenv "VADER_PATH" vader-path) - (invoke (string-append - (assoc-ref (or native-inputs inputs) "vim-full") - "/bin/vim") - "-E" "-Nu" "vimrc" - "-c" "Vader! *.vader"))) + (apply invoke command))) ;; Remove __pycache__ files generated during testing so that ;; they don't get installed. (delete-file-recursively "python/__pycache__"))))))) (native-inputs - `(("coq-for-coqtail" ,coq-for-coqtail) - ("python-pytest" ,python-pytest) - ("vim-full" ,vim-full) ; Plugin needs Python 3. - ("vim-vader" ,vim-vader))) + (list coq-for-coqtail + python-pytest + vim-vader)) (propagated-inputs (list coq coq-ide-server)) (synopsis "Interactive Coq proofs in Vim") (description "Coqtail enables interactive Coq proof development in Vim @@ -512,6 +518,18 @@ similar to CoqIDE or ProofGeneral.") (home-page "https://github.com/whonore/Coqtail") (license license:expat)))) +(define-public neovim-coqtail + (package + (inherit vim-coqtail) + (name "neovim-coqtail") + (synopsis "Interactive Coq proofs in Neovim") + (description "Coqtail enables interactive Coq proof development in Neovim +similar to CoqIDE or ProofGeneral.") + (native-inputs + (modify-inputs (package-native-inputs vim-coqtail) + (replace "vim-vader" neovim-vader) + (append python-minimal python-pynvim))))) + (define-public vim-fugitive (package (name "vim-fugitive") @@ -1509,7 +1527,7 @@ operations are available for most filetypes.") #:phases (modify-phases %standard-phases (add-before 'install 'check - (lambda* (#:key tests? #:allow-other-keys) + (lambda* (#:key tests? vim? neovim? #:allow-other-keys) (when tests? ;; FIXME: suite1.vader fails with an unknown reason, ;; lang-if.vader requires Python and Ruby. @@ -1519,9 +1537,11 @@ operations are available for most filetypes.") (display "Running Vim tests\n") (with-directory-excursion "test" - (setenv "VADER_TEST_VIM" "vim -E") + (when vim? + (setenv "VADER_TEST_VIM" "vim -E")) + (when neovim? + (setenv "VADER_TEST_VIM" "nvim --headless")) (invoke "bash" "./run-tests.sh")))))))) - (native-inputs (list vim)) (home-page "https://github.com/junegunn/vader.vim") (synopsis "Test framework for Vimscript") (description "Vader is a test framework for Vimscript designed to @@ -1531,6 +1551,11 @@ be integrated with @acronym{CI, Continuous Integration} pipelines to automate testing and is compatible with Vim and Neovim.") (license license:expat)))) ;; Specified in README.md. +(define-public neovim-vader + (package + (inherit vim-vader) + (name "neovim-vader"))) + (define-public vim-jedi-vim (package (name "vim-jedi-vim") |