diff options
Diffstat (limited to 'nichijou')
-rw-r--r-- | nichijou/packages/vim.scm | 250 |
1 files changed, 250 insertions, 0 deletions
diff --git a/nichijou/packages/vim.scm b/nichijou/packages/vim.scm new file mode 100644 index 0000000..fcdbf42 --- /dev/null +++ b/nichijou/packages/vim.scm @@ -0,0 +1,250 @@ +(define-module (nichijou packages vim) + #:use-module ((guix licenses) + #:prefix license:) + #:use-module (guix packages) + #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system copy) + #:use-module (gnu packages) + #:use-module (gnu packages vim) + #:use-module (gnu packages uml)) + +(define-public vim-plantuml-syntax + (package + (name "vim-plantuml-syntax") + (version "0.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/aklt/plantuml-syntax") + (commit "660bbb1ece1e654b2176f76ce0689304c5a4a025"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05xf36np8y0gdcd05nzmkawh131lp4mm5cjgjr1byr8cjyl1idr3")))) + (build-system copy-build-system) + (arguments + '(#:install-plan '(("ftdetect" "share/vim/vimfiles/") + ("ftplugin" "share/vim/vimfiles/") + ("indent" "share/vim/vimfiles/") + ("syntax" "share/vim/vimfiles/")))) + (synopsis "Vim PlantUML Syntax/Plugin/FTDetect") + (inputs (list plantuml)) + (description + "This is a vim syntax file for PlantUML.The filetype will be set to +plantuml for @code{*.pu}, @code{*.uml}, @code{*.puml}, @code{*.iuml} or +@code{*.plantuml} files or if the first line of a file contains +@code{@@startuml}. Additionally the makeprg is set to plantuml assuming you +have this executable in your path.") + (home-page "https://github.com/aklt/plantuml-syntax") + (license #f))) + +(define-public vim-doxygen-toolkit + (package + (name "vim-doxygen-toolkit") + (version "0.2.13") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vim-scripts/DoxygenToolkit.vim") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1za8li02j4nhqjjsyxg4p78638h5af4izim37zc0p1x55zr3i85r")))) + (build-system copy-build-system) + (arguments + '(#:install-plan '(("plugin" "share/vim/vimfiles/")))) + (synopsis "Simplify Doxygen documentation in C, C++, Python.") + (description + "Currently five purposes have been defined : +@itemize +@item Generates a doxygen license comment. The tag text is configurable. +@item Generates a doxygen author skeleton. The tag text is configurable. +@item Generates a doxygen comment skeleton for a C, C++ or Python function or +class, including @code{@@brief}, @code{@@param} (for each named argument), and +@code{@@return}. The tag text as well as a comment block header and footer are +configurable. (Consequently, you can have brief, etc. if you wish, with little +effort.) +@item Ignore code fragment placed in a block defined by #ifdef ... #endif +(C/C++). The block name must be given to the function. All of the +corresponding blocks in all the file will be treated and placed in a new block +DOX_SKIP_BLOCK (or any other name that you have configured). Then you have to +update PREDEFINED value in your doxygen configuration file with correct block +name. You also have to set ENABLE_PREPROCESSING to YES. +@item Generate a doxygen group (beginning and ending). The tag text is +configurable. +@end itemize") + (home-page "https://www.vim.org/scripts/script.php?script_id=987") + (license #f))) + +(define-public vim-detectindent + ;; No releases have been tagged. + (let ((commit "2511f0f02fb046a09fdbdfc8f21c7a6f2d234936") + (revision "1")) + (package + (name "vim-detectindent") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/roryokane/detectindent") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16k3h64z4ysphchnhgj3jyms51ps0lla885yqznfbknz49pg44cb")))) + (build-system copy-build-system) + (arguments + `(#:install-plan '(("doc" "share/vim/vimfiles/") + ("plugin" "share/vim/vimfiles/")))) + (home-page "https://github.com/roryokane/detectindent") + (synopsis "Vim script for automatically detecting indent settings") + (description + "This script provides a command which will attempt to guess the correct +indent settings for an open file, for use when there is no modeline +available. Specifically, the command sets the following buffer-local +options for you: +@itemize +@item 'expandtab' (tabs vs. spaces) +@item 'shiftwidth' (width of indentation) +@item 'tabstop' (width of a tab character) +@item 'softtabstop' (number of spaces that Tab inserts) +@end itemize + +Note that this is a pure Vim implementation, and doesn’t require any external +applications or interpreters.") + (license #f)))) + +(define-public vim-deoplete + (let ((commit "33ed4fa0cd704999f9f74b37640bf6d7334bac37") + (revision "1")) + (package + (name "vim-deoplete") + (version (git-version "6.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shougo/deoplete.nvim") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gabd83gy3skx3q3prk6drn3dzwag5jmzmp43492mihdak0iks3i")))) + (build-system copy-build-system) + (inputs (list python-pynvim)) + (arguments + `(#:install-plan '(("autoload" "share/vim/vimfiles/") + ("doc" "share/vim/vimfiles/") + ("plugin" "share/vim/vimfiles/") + ("rplugin" "share/vim/vimfiles/")))) + (home-page "https://github.com/Shougo/deoplete.nvim") + (synopsis + "Dark powered asynchronous completion framework for neovim/Vim8") + (description + "deoplete is the abbreviation of 'dark powered neo-completion'. It +provides an asynchronous keyword completion system in the current +buffer.") + (license license:expat)))) + +(define-public vim-lsp + (let ((commit "309e9e5c8103bee69eabd152c09eaeec2e0a11f9") + (revision "1")) + (package + (name "vim-lsp") + (version (git-version "0.1.4" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/prabirshrestha/vim-lsp") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10hwqd07qipn146iwdih3l7f8nbzz01jh7wpbl9f8l84vi5g5c45")))) + (build-system copy-build-system) + (arguments + `(#:install-plan '(("autoload" "share/vim/vimfiles/") + ("doc" "share/vim/vimfiles/") + ("ftplugin" "share/vim/vimfiles/") + ("plugin" "share/vim/vimfiles/") + ("syntax" "share/vim/vimfiles/")))) + (home-page "https://github.com/prabirshrestha/vim-lsp") + (synopsis "Async language server protocol plugin for vim and neovim") + (description "Async language server protocol plugin for vim and neovim") + ;; vim-lsp itself is licensed under expat however it borrows code from other + ;; third party projects that are not strictly expat. Setting license to #f for now. + (license #f)))) + +(define-public vim-deoplete-vim-lsp + (let ((commit "af5432f1e063fd4c3a5879aa8c2afe82c17dc1c9") + (revision "1")) + (package + (name "vim-deoplete-vim-lsp") + ;; No releases have been tagged. + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/lighttiger2505/deoplete-vim-lsp") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1s6fw6vkpl0yiya22g13v4i14w3n1ds2zr8zdlwpkk44bf0225px")))) + (build-system copy-build-system) + (arguments + `(#:install-plan '(("autoload" "share/vim/vimfiles/") + ("plugin" "share/vim/vimfiles/") + ("rplugin" "share/vim/vimfiles/")))) + (home-page "https://github.com/lighttiger2505/deoplete-vim-lsp") + (synopsis "deoplete source for vim-lsp") + (description "deoplete source for vim-lsp") + (license license:expat)))) + +(define-public vim-bbye + (let ((commit "25ef93ac5a87526111f43e5110675032dbcacf56") + (revision "1")) + (package + (name "vim-bbye") + (version (git-version "1.0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moll/vim-bbye") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dlifpbd05fcgndpkgb31ww8p90pwdbizmgkkq00qkmvzm1ik4y4")))) + (build-system copy-build-system) + (arguments + `(#:install-plan '(("plugin" "share/vim/vimfiles/")))) + (home-page "https://github.com/moll/vim-bbye") + (synopsis + "Delete buffers and close files in Vim without closing your windows or messing up your layout. Like Bclose.vim, but rewritten and well maintained.") + + (description + "Bbye allows you to do delete buffers (close files) without + closing your windows or messing up your layout. + +Vim by default closes all windows that have the buffer (file) open when you do +:bdelete. If you've just got your splits and columns perfectly tuned, having +them messed up equals a punch in the face and that's no way to tango. + +Bbye gives you :Bdelete and :Bwipeout commands that behave like well designed +citizens: +@itemize +@item Close and remove the buffer. +@item Show another file in that window. +@item Show an empty file if you've got no other files open. +@item Do not leave useless [no file] buffers if you decide to edit another file in that window. +@item Work even if a file's open in multiple windows. +@item Work a-okay with various buffer explorers and tabbars. +@end itemize +Regain your throne as king of buffers!") + ;; Bbye is released under a Lesser GNU Affero General Public License. + (license license:agpl3)))) |