summaryrefslogtreecommitdiff
path: root/gnu/packages/vim.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/vim.scm')
-rw-r--r--gnu/packages/vim.scm337
1 files changed, 336 insertions, 1 deletions
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index cdb32ac7eb..82403feb1d 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
@@ -23,6 +23,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
@@ -158,6 +159,340 @@ configuration files.")
("tcl" ,tcl)
,@(package-inputs vim)))))
+(define-public vim-neocomplete
+ (package
+ (name "vim-neocomplete")
+ (version "2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/Shougo/neocomplete.vim/"
+ "archive/ver." version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1307gbrdwam2akq9w2lpijc41740i4layk2qkd9sjkqxfch5lni2"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles"))
+ (autoload (string-append vimfiles "/autoload"))
+ (doc (string-append vimfiles "/doc"))
+ (plugin (string-append vimfiles "/plugin")))
+ (copy-recursively "autoload" autoload)
+ (copy-recursively "doc" doc)
+ (copy-recursively "plugin" plugin)
+ #t))))))
+ (synopsis "Next generation completion framework for Vim")
+ (description
+ "@code{neocomplete}, an abbreviation of 'neo-completion with cache',
+is a plugin for Vim.
+It provides keyword completion system by maintaining a cache of keywords in
+the current buffer. Neocomplete can be customized easily and has many more
+features than Vim's built-in completion.")
+ (home-page "https://github.com/Shougo/neocomplete.vim/")
+ (license license:expat)))
+
+;; There are no release tarballs.
+(define-public vim-neosnippet-snippets
+ (let ((commit "8e2b1c0cab9ed9a832b3743dbb65e9966a64331a")
+ (revision "1"))
+ (package
+ (name "vim-neosnippet-snippets")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shougo/neosnippet-snippets")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "151wpvbj6jb9jdkbhj3b77f5sq7y328spvwfbqyj1y32rg4ifmc6"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles")))
+ (copy-recursively "neosnippets"
+ (string-append vimfiles "/neosnippets"))
+ #t))))))
+ (synopsis "Snippets for neosnippet")
+ (description
+ "@code{neosnippet-snippets} provides standard snippets for the Vim plugin
+@code{neosnippet}. Snippets are small templates for commonly used code that
+you can fill in on the fly.")
+ (home-page "https://github.com/Shougo/neosnippet-snippets")
+ (license license:expat))))
+
+;; The released tarball is too old for our Vim.
+(define-public vim-neosnippet
+ (let ((commit "1bd7e23c79b73da16eb0c9469b25c376d3594583")
+ (revision "1"))
+ (package
+ (name "vim-neosnippet")
+ (version (string-append "4.2-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shougo/neosnippet.vim/")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0k80syscmpnj38ks1fq02ds59g0r4jlg9ll7z4qc048mgi35alw5"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles"))
+ (autoload (string-append vimfiles "/autoload"))
+ (doc (string-append vimfiles "/doc"))
+ (ftdetect (string-append vimfiles "/ftdetect"))
+ (ftplugin (string-append vimfiles "/ftplugin"))
+ (indent (string-append vimfiles "/indent"))
+ (plugin (string-append vimfiles "/plugin"))
+ (rplugin (string-append vimfiles "/rplugin"))
+ (syntax (string-append vimfiles "/syntax")))
+ (copy-recursively "autoload" autoload)
+ (copy-recursively "doc" doc)
+ (copy-recursively "ftdetect" ftdetect)
+ (copy-recursively "ftplugin" ftplugin)
+ (copy-recursively "indent" indent)
+ (copy-recursively "plugin" plugin)
+ (copy-recursively "rplugin" rplugin)
+ (copy-recursively "syntax" syntax)
+ #t))))))
+ (synopsis "Snippet support for Vim")
+ (description
+ "@code{neosnippet}, is a plugin for Vim which adds snippet support to Vim.
+Snippets are small templates for commonly used code that you can fill in on
+the fly. To use snippets can increase your productivity in Vim a lot.
+The functionality of this plug-in is quite similar to plug-ins like
+@code{snipMate.vim} or @code{snippetsEmu.vim}. But since you can choose
+snippets with the neocomplcache / neocomplete interface, you might have less
+trouble using them, because you do not have to remember each snippet name.")
+ (home-page "https://github.com/Shougo/neosnippet.vim/")
+ (license license:expat))))
+
+(define-public vim-scheme
+ (let ((commit "93827987c10f2d5dc519166a761f219204926d5f")
+ (revision "1"))
+ (package
+ (name "vim-scheme")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "http://git.foldling.org/vim-scheme.git")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1ynjr1109dxgj0lz261gmzz3wf5ap1m6j6hnvl3lcyv66a4y8pjv"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles"))
+ (after (string-append vimfiles "/after"))
+ (syntax (string-append vimfiles "/syntax"))
+ (ftplugin (string-append vimfiles "/ftplugin")))
+ (copy-recursively "after" after)
+ (copy-recursively "ftplugin" ftplugin)
+ (copy-recursively "syntax" syntax)
+ #t))))))
+ (synopsis "Scheme syntax for Vim")
+ (description
+ "@code{vim-scheme} provides Scheme support for Vim (R7RS and CHICKEN).")
+ (home-page "http://foldling.org/git/vim-scheme.git/")
+ (license license:public-domain))))
+
+(define-public vim-luna
+ (let ((commit "633619953dcf8577168e255230f96b05f28d6371")
+ (revision "1"))
+ (package
+ (name "vim-luna")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/notpratheek/vim-luna")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0ka3qbhsh8lix1vyj4678j7dnchkd8khhirrnn3aylxxf8fpqyg8"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles"))
+ (colors (string-append vimfiles "/colors")))
+ (copy-recursively "colors" colors)
+ #t))))))
+ (synopsis "Dark color theme for Vim")
+ (description
+ "@code{vim-luna} is a dark color theme for Vim.")
+ (home-page "https://github.com/notpratheek/vim-luna")
+ (license license:expat))))
+
+;; There are no tarball releases.
+(define-public vim-context-filetype
+ (let ((commit "5e85f8cae26806f391aefe2661791a6de53bcea2")
+ (revision "1"))
+ (package
+ (name "vim-context-filetype")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Shougo/context_filetype.vim")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0alvrfhmd91zkd9h83s8wvgyq4iakcf6rybsyjd369qbgpcqky89"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles"))
+ (doc (string-append vimfiles "/doc"))
+ (autoload (string-append vimfiles "/autoload")))
+ (copy-recursively "doc" doc)
+ (copy-recursively "autoload" autoload)
+ #t))))))
+ (synopsis "Context filetype library for Vim")
+ (description
+ "@code{vim-context-filetype} is context filetype library for Vim script.")
+ (home-page "https://github.com/Shougo/context_filetype.vim")
+ (license license:expat)))) ; ??? check again
+
+(define-public vim-airline
+ (package
+ (name "vim-airline")
+ (version "0.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/vim-airline/vim-airline/"
+ "archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "053sfq3jmgdc5y7zbg6jrk7r2hp0raj3y3mxa2h1c1bnkb6wvcaz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles"))
+ (autoload (string-append vimfiles "/autoload"))
+ (doc (string-append vimfiles "/doc"))
+ (t (string-append vimfiles "/t"))
+ (plugin (string-append vimfiles "/plugin")))
+ (copy-recursively "autoload" autoload)
+ (copy-recursively "doc" doc)
+ (copy-recursively "plugin" plugin)
+ (copy-recursively "t" t)
+ #t))))))
+ (synopsis "Statusline for Vim")
+ (description
+ "@code{vim-airline} is an extensible statusline for Vim.
+It can be extended and costumized with themes, works with unicode fonts
+and powerline symbols, etc.")
+ (home-page "https://github.com/vim-airline/vim-airline")
+ (license license:expat)))
+
+;; There are no tarball releases.
+(define-public vim-airline-themes
+ (let ((commit "6026eb78bf362cb3aa875aff8487f65728d0f7d8")
+ (revision "1"))
+ (package
+ (name "vim-airline-themes")
+ (version (string-append "0.0.0-" revision "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vim-airline/vim-airline-themes")
+ (commit commit)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "13ijkavh1r0935cn2rjsfbdd1q3ka8bi26kw0bdkrqlrqxwvpss8"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (vimfiles (string-append out "/share/vim/vimfiles"))
+ (doc (string-append vimfiles "/doc"))
+ (plugin (string-append vimfiles "/plugin"))
+ (autoload (string-append vimfiles "/autoload")))
+ (copy-recursively "doc" doc)
+ (copy-recursively "autoload" autoload)
+ (copy-recursively "plugin" plugin)
+ #t))))))
+ (synopsis "Collection of themes for Vim-airline")
+ (description
+ "@code{vim-airline-themes} is a collection of themes for @code{vim-airline}.")
+ (home-page "https://github.com/vim-airline/vim-airline-themes")
+ (license license:expat))))
+
(define-public neovim
(package
(name "neovim")