Merge pull request #46394 from Mic92/vim-updater

vim-plugins: rewrite updater
This commit is contained in:
Jörg Thalheim 2018-09-09 13:46:55 +01:00 committed by GitHub
commit 484e1807a6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 3466 additions and 3546 deletions

View file

@ -5,11 +5,16 @@ date: 2016-06-25
--- ---
# User's Guide to Vim Plugins/Addons/Bundles/Scripts in Nixpkgs # User's Guide to Vim Plugins/Addons/Bundles/Scripts in Nixpkgs
You'll get a vim(-your-suffix) in PATH also loading the plugins you want. Both Neovim and Vim can be configured to include your favorite plugins
and additional libraries.
Loading can be deferred; see examples. Loading can be deferred; see examples.
Vim packages, VAM (=vim-addon-manager) and Pathogen are supported to load At the moment we support three different methods for managing plugins:
packages.
- Vim packages (*recommend*)
- VAM (=vim-addon-manager)
- Pathogen
## Custom configuration ## Custom configuration
@ -25,7 +30,19 @@ vim_configurable.customize {
} }
``` ```
## Vim packages For Neovim the `configure` argument can be overridden to achieve the same:
```
neovim.override {
configure = {
customRC = ''
# here your custom configuration goes!
'';
};
}
```
## Managing plugins with Vim packages
To store you plugins in Vim packages the following example can be used: To store you plugins in Vim packages the following example can be used:
@ -38,13 +55,50 @@ vim_configurable.customize {
opt = [ phpCompletion elm-vim ]; opt = [ phpCompletion elm-vim ];
# To automatically load a plugin when opening a filetype, add vimrc lines like: # To automatically load a plugin when opening a filetype, add vimrc lines like:
# autocmd FileType php :packadd phpCompletion # autocmd FileType php :packadd phpCompletion
} };
}; }
``` ```
## VAM For Neovim the syntax is
### dependencies by Vim plugins ```
neovim.override {
configure = {
customRC = ''
# here your custom configuration goes!
'';
packages.myVimPackage = with pkgs.vimPlugins; {
# see examples below how to use custom packages
start = [ ];
opt = [ ];
};
};
}
```
The resulting package can be added to `packageOverrides` in `~/.nixpkgs/config.nix` to make it installable:
```
{
packageOverrides = pkgs: with pkgs; {
myVim = vim_configurable.customize {
name = "vim-with-plugins";
# add here code from the example section
};
myNeovim = neovim.override {
configure = {
# add here code from the example section
};
};
};
}
```
After that you can install your special grafted `myVim` or `myNeovim` packages.
## Managing plugins with VAM
### Handling dependencies of Vim plugins
VAM introduced .json files supporting dependencies without versioning VAM introduced .json files supporting dependencies without versioning
assuming that "using latest version" is ok most of the time. assuming that "using latest version" is ok most of the time.
@ -125,6 +179,18 @@ Sample output2:
] ]
## Adding new plugins to nixpkgs
In `pkgs/misc/vim-plugins/vim-plugin-names` we store the plugin names
for all vim plugins we automatically generate plugins for.
The format of this file `github username/github repository`:
For example https://github.com/scrooloose/nerdtree becomes `scrooloose/nerdtree`.
After adding your plugin to this file run the `./update.py` in the same folder.
This will updated a file called `generated.nix` and make your plugin accessible in the
`vimPlugins` attribute set (`vimPlugins.nerdtree` in our example).
If additional steps to the build process of the plugin are required, add an
override to the `pkgs/misc/vim-plugins/default.nix` in the same directory.
## Important repositories ## Important repositories
- [vim-pi](https://bitbucket.org/vimcommunity/vim-pi) is a plugin repository - [vim-pi](https://bitbucket.org/vimcommunity/vim-pi) is a plugin repository

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,293 +1,293 @@
"github:907th/vim-auto-save" 907th/vim-auto-save
"github:airblade/vim-gitgutter" airblade/vim-gitgutter
"github:ajh17/Spacegray.vim" ajh17/Spacegray.vim
"github:albfan/nerdtree-git-plugin" albfan/nerdtree-git-plugin
"github:altercation/vim-colors-solarized" altercation/vim-colors-solarized
"github:alvan/vim-closetag" alvan/vim-closetag
"github:amiorin/ctrlp-z" amiorin/ctrlp-z
"github:andreshazard/vim-logreview" andreshazard/vim-logreview
"github:andsild/peskcolor.vim" andsild/peskcolor.vim
"github:andviro/flake8-vim" andviro/flake8-vim
"github:ap/vim-css-color" ap/vim-css-color
"github:bazelbuild/vim-bazel" bazelbuild/vim-bazel
"github:bbchung/clighter8" bbchung/clighter8
"github:benekastah/neomake" benekastah/neomake
"github:bitc/vim-hdevtools" bitc/vim-hdevtools
"github:bronson/vim-trailing-whitespace" bronson/vim-trailing-whitespace
"github:cespare/vim-toml" cespare/vim-toml
"github:chemzqm/denite-extra" chemzqm/denite-extra
"github:chemzqm/denite-git" chemzqm/denite-git
"github:Chiel92/vim-autoformat" Chiel92/vim-autoformat
"github:chikatoike/concealedyank.vim" chikatoike/concealedyank.vim
"github:chikatoike/sourcemap.vim" chikatoike/sourcemap.vim
"github:chrisbra/CheckAttach" chrisbra/CheckAttach
"github:chrisbra/csv.vim" chrisbra/csv.vim
"github:chrisgeo/sparkup" chrisgeo/sparkup
"github:chriskempson/base16-vim" chriskempson/base16-vim
"github:christoomey/vim-sort-motion" christoomey/vim-sort-motion
"github:christoomey/vim-tmux-navigator" christoomey/vim-tmux-navigator
"github:ctjhoa/spacevim" ctjhoa/spacevim
"github:ctrlpvim/ctrlp.vim" ctrlpvim/ctrlp.vim
"github:dag/vim2hs" dag/vim2hs
"github:dannyob/quickfixstatus" dannyob/quickfixstatus
"github:derekelkins/agda-vim" derekelkins/agda-vim
"github:derekwyatt/vim-scala" derekwyatt/vim-scala
"github:dhruvasagar/vim-table-mode" dhruvasagar/vim-table-mode
"github:digitaltoad/vim-jade" digitaltoad/vim-jade
"github:dleonard0/pony-vim-syntax" dleonard0/pony-vim-syntax
"github:dracula/vim" dracula/vim
"github:drmingdrmer/xptemplate" drmingdrmer/xptemplate
"github:eagletmt/ghcmod-vim" eagletmt/ghcmod-vim
"github:eagletmt/neco-ghc" eagletmt/neco-ghc
"github:editorconfig/editorconfig-vim" editorconfig/editorconfig-vim
"github:ehamberg/vim-cute-python" ehamberg/vim-cute-python
"github:eikenb/acp" eikenb/acp
"github:elixir-lang/vim-elixir" elixir-lang/vim-elixir
"github:elmcast/elm-vim" elmcast/elm-vim
"github:elzr/vim-json" elzr/vim-json
"github:embear/vim-localvimrc" embear/vim-localvimrc
"github:enomsg/vim-haskellConcealPlus" enomsg/vim-haskellConcealPlus
"github:ensime/ensime-vim" ensime/ensime-vim
"github:ervandew/supertab" ervandew/supertab
"github:esneider/YUNOcommit.vim" esneider/YUNOcommit.vim
"github:farmergreg/vim-lastplace" farmergreg/vim-lastplace
"github:fatih/vim-go" fatih/vim-go
"github:FelikZ/ctrlp-py-matcher" FelikZ/ctrlp-py-matcher
"github:fisadev/vim-isort" fisadev/vim-isort
"github:flazz/vim-colorschemes" flazz/vim-colorschemes
"github:floobits/floobits-neovim" floobits/floobits-neovim
"github:frigoeu/psc-ide-vim" frigoeu/psc-ide-vim
"github:garbas/vim-snipmate" garbas/vim-snipmate
"github:gmarik/vundle" gmarik/vundle
"github:godlygeek/csapprox" godlygeek/csapprox
"github:godlygeek/tabular" godlygeek/tabular
"github:google/vim-codefmt" google/vim-codefmt
"github:google/vim-jsonnet" google/vim-jsonnet
"github:google/vim-maktaba" google/vim-maktaba
"github:gregsexton/gitv" gregsexton/gitv
"github:guns/xterm-color-table.vim" guns/xterm-color-table.vim
"github:heavenshell/vim-jsdoc" heavenshell/vim-jsdoc
"github:hecal3/vim-leader-guide" hecal3/vim-leader-guide
"github:honza/vim-snippets" honza/vim-snippets
"github:idris-hackers/idris-vim" idris-hackers/idris-vim
"github:inkarkat/vim-SyntaxRange" inkarkat/vim-SyntaxRange
"github:int3/vim-extradite" int3/vim-extradite
"github:itchyny/calendar.vim" itchyny/calendar.vim
"github:itchyny/lightline.vim" itchyny/lightline.vim
"github:itchyny/thumbnail.vim" itchyny/thumbnail.vim
"github:itchyny/vim-cursorword" itchyny/vim-cursorword
"github:itchyny/vim-gitbranch" itchyny/vim-gitbranch
"github:ivanov/vim-ipython" ivanov/vim-ipython
"github:jacoborus/tender.vim" jacoborus/tender.vim
"github:janko-m/vim-test" janko-m/vim-test
"github:JazzCore/ctrlp-cmatcher" JazzCore/ctrlp-cmatcher
"github:jceb/vim-hier" jceb/vim-hier
"github:jceb/vim-orgmode" jceb/vim-orgmode
"github:jeetsukumaran/vim-buffergator" jeetsukumaran/vim-buffergator
"github:jgdavey/tslime.vim" jgdavey/tslime.vim
"github:jhradilek/vim-docbk" jhradilek/vim-docbk
"github:jiangmiao/auto-pairs" jiangmiao/auto-pairs
"github:jistr/vim-nerdtree-tabs" jistr/vim-nerdtree-tabs
"github:jnurmine/zenburn" jnurmine/zenburn
"github:jonbri/vim-colorstepper" jonbri/vim-colorstepper
"github:joonty/vim-xdebug" joonty/vim-xdebug
"github:JuliaEditorSupport/julia-vim" JuliaEditorSupport/julia-vim
"github:junegunn/fzf.vim" junegunn/fzf.vim
"github:junegunn/goyo.vim" junegunn/goyo.vim
"github:junegunn/limelight.vim" junegunn/limelight.vim
"github:junegunn/vim-easy-align" junegunn/vim-easy-align
"github:junegunn/vim-github-dashboard" junegunn/vim-github-dashboard
"github:junegunn/vim-peekaboo" junegunn/vim-peekaboo
"github:justincampbell/vim-eighties" justincampbell/vim-eighties
"github:KabbAmine/zeavim.vim" KabbAmine/zeavim.vim
"github:kana/vim-niceblock" kana/vim-niceblock
"github:kana/vim-operator-replace" kana/vim-operator-replace
"github:kana/vim-operator-user" kana/vim-operator-user
"github:kana/vim-tabpagecd" kana/vim-tabpagecd
"github:kchmck/vim-coffee-script" kchmck/vim-coffee-script
"github:keith/swift.vim" keith/swift.vim
"github:kien/rainbow_parentheses.vim" kien/rainbow_parentheses.vim
"github:konfekt/fastfold" konfekt/fastfold
"github:kshenoy/vim-signature" kshenoy/vim-signature
"github:lambdalisue/vim-gista" lambdalisue/vim-gista
"github:latex-box-team/latex-box" latex-box-team/latex-box
"github:leafgarland/typescript-vim" leafgarland/typescript-vim
"github:ledger/vim-ledger" ledger/vim-ledger
"github:lepture/vim-jinja" lepture/vim-jinja
"github:lervag/vimtex" lervag/vimtex
"github:lfilho/cosco.vim" lfilho/cosco.vim
"github:LnL7/vim-nix" LnL7/vim-nix
"github:lokaltog/vim-easymotion" lokaltog/vim-easymotion
"github:ludovicchabant/vim-lawrencium" ludovicchabant/vim-lawrencium
"github:luochen1990/rainbow" luochen1990/rainbow
"github:lyokha/vim-xkbswitch" lyokha/vim-xkbswitch
"github:machakann/vim-highlightedyank" machakann/vim-highlightedyank
"github:majutsushi/tagbar" majutsushi/tagbar
"github:maksimr/vim-jsbeautify" maksimr/vim-jsbeautify
"github:MarcWeber/vim-addon-actions" MarcWeber/vim-addon-actions
"github:MarcWeber/vim-addon-async" MarcWeber/vim-addon-async
"github:MarcWeber/vim-addon-background-cmd" MarcWeber/vim-addon-background-cmd
"github:MarcWeber/vim-addon-commenting" MarcWeber/vim-addon-commenting
"github:MarcWeber/vim-addon-completion" MarcWeber/vim-addon-completion
"github:MarcWeber/vim-addon-errorformats" MarcWeber/vim-addon-errorformats
"github:MarcWeber/vim-addon-goto-thing-at-cursor" MarcWeber/vim-addon-goto-thing-at-cursor
"github:MarcWeber/vim-addon-local-vimrc" MarcWeber/vim-addon-local-vimrc
"github:MarcWeber/vim-addon-manager" MarcWeber/vim-addon-manager
"github:MarcWeber/vim-addon-mru" MarcWeber/vim-addon-mru
"github:MarcWeber/vim-addon-mw-utils" MarcWeber/vim-addon-mw-utils
"github:MarcWeber/vim-addon-nix" MarcWeber/vim-addon-nix
"github:MarcWeber/vim-addon-other" MarcWeber/vim-addon-other
"github:MarcWeber/vim-addon-php-manual" MarcWeber/vim-addon-php-manual
"github:MarcWeber/vim-addon-signs" MarcWeber/vim-addon-signs
"github:MarcWeber/vim-addon-sql" MarcWeber/vim-addon-sql
"github:MarcWeber/vim-addon-syntax-checker" MarcWeber/vim-addon-syntax-checker
"github:MarcWeber/vim-addon-toggle-buffer" MarcWeber/vim-addon-toggle-buffer
"github:MarcWeber/vim-addon-xdebug" MarcWeber/vim-addon-xdebug
"github:martinda/Jenkinsfile-vim-syntax" martinda/Jenkinsfile-vim-syntax
"github:mattn/gist-vim" mattn/gist-vim
"github:mattn/webapi-vim" mattn/webapi-vim
"github:mbbill/undotree" mbbill/undotree
"github:megaannum/forms" megaannum/forms
"github:megaannum/self" megaannum/self
"github:mfukar/robotframework-vim" mfukar/robotframework-vim
"github:mhinz/vim-grepper" mhinz/vim-grepper
"github:mhinz/vim-signify" mhinz/vim-signify
"github:mhinz/vim-startify" mhinz/vim-startify
"github:michaeljsmith/vim-indent-object" michaeljsmith/vim-indent-object
"github:mileszs/ack.vim" mileszs/ack.vim
"github:mindriot101/vim-yapf" mindriot101/vim-yapf
"github:mkasa/lushtags" mkasa/lushtags
"github:morhetz/gruvbox" morhetz/gruvbox
"github:mpickering/hlint-refactor-vim" mpickering/hlint-refactor-vim
"github:nathanaelkane/vim-indent-guides" nathanaelkane/vim-indent-guides
"github:nbouscal/vim-stylish-haskell" nbouscal/vim-stylish-haskell
"github:neoclide/vim-easygit" neoclide/vim-easygit
"github:neovimhaskell/haskell-vim" neovimhaskell/haskell-vim
"github:nixprime/cpsm" nixprime/cpsm
"github:noc7c9/vim-iced-coffee-script" noc7c9/vim-iced-coffee-script
"github:osyo-manga/shabadou.vim" osyo-manga/shabadou.vim
"github:osyo-manga/vim-textobj-multiblock" osyo-manga/vim-textobj-multiblock
"github:osyo-manga/vim-watchdogs" osyo-manga/vim-watchdogs
"github:pangloss/vim-javascript" pangloss/vim-javascript
"github:peterhoeg/vim-qml" peterhoeg/vim-qml
"github:plasticboy/vim-markdown" plasticboy/vim-markdown
"github:python-mode/python-mode" python-mode/python-mode
"github:Quramy/tsuquyomi" Quramy/tsuquyomi
"github:racer-rust/vim-racer" racer-rust/vim-racer
"github:rafi/awesome-vim-colorschemes" rafi/awesome-vim-colorschemes
"github:raichoo/purescript-vim" raichoo/purescript-vim
"github:reedes/vim-pencil" reedes/vim-pencil
"github:reedes/vim-wordy" reedes/vim-wordy
"github:rhysd/committia.vim" rhysd/committia.vim
"github:rhysd/vim-grammarous" rhysd/vim-grammarous
"github:rhysd/vim-operator-surround" rhysd/vim-operator-surround
"github:Rip-Rip/clang_complete" Rip-Rip/clang_complete
"github:rodjek/vim-puppet" rodjek/vim-puppet
"github:roxma/nvim-cm-racer" roxma/nvim-cm-racer
"github:roxma/nvim-completion-manager" roxma/nvim-completion-manager
"github:rust-lang/rust.vim" rust-lang/rust.vim
"github:ryanoasis/vim-devicons" ryanoasis/vim-devicons
"github:ryanoasis/vim-devicons" Rykka/riv.vim
"github:Rykka/riv.vim" sbdchd/neoformat
"github:sbdchd/neoformat" scrooloose/nerdcommenter
"github:scrooloose/nerdcommenter" scrooloose/nerdtree
"github:scrooloose/nerdtree" scrooloose/syntastic
"github:scrooloose/syntastic" sebastianmarkow/deoplete-rust
"github:sebastianmarkow/deoplete-rust" sheerun/vim-polyglot
"github:sheerun/vim-polyglot" shougo/context_filetype.vim
"github:shougo/context_filetype.vim" shougo/denite.nvim
"github:shougo/denite.nvim" shougo/deoplete.nvim
"github:shougo/deoplete.nvim" shougo/echodoc.vim
"github:shougo/echodoc.vim" shougo/neco-syntax
"github:shougo/neco-syntax" shougo/neco-vim
"github:shougo/neco-vim" shougo/neocomplete.vim
"github:shougo/neocomplete.vim" shougo/neoinclude.vim
"github:shougo/neoinclude.vim" shougo/neomru.vim
"github:shougo/neomru.vim" shougo/neosnippet-snippets
"github:shougo/neosnippet-snippets" shougo/neosnippet.vim
"github:shougo/neosnippet.vim" shougo/neoyank.vim
"github:shougo/neoyank.vim" shougo/tabpagebuffer.vim
"github:shougo/tabpagebuffer.vim" shougo/unite.vim
"github:shougo/unite.vim" shougo/vimproc.vim
"github:shougo/vimproc.vim" shougo/vimshell.vim
"github:shumphrey/fugitive-gitlab.vim" shumphrey/fugitive-gitlab.vim
"github:SirVer/ultisnips" SirVer/ultisnips
"github:sjl/gundo.vim" sjl/gundo.vim
"github:sjl/splice.vim" sjl/splice.vim
"github:sk1418/last256" sk1418/last256
"github:slashmili/alchemist.vim" slashmili/alchemist.vim
"github:t9md/vim-smalls" t9md/vim-smalls
"github:takac/vim-hardtime" takac/vim-hardtime
"github:terryma/vim-expand-region" terryma/vim-expand-region
"github:terryma/vim-multiple-cursors" terryma/vim-multiple-cursors
"github:tex/vimpreviewpandoc" tex/vimpreviewpandoc
"github:thinca/vim-ft-diff_fold" thinca/vim-ft-diff_fold
"github:thinca/vim-prettyprint" thinca/vim-prettyprint
"github:thinca/vim-quickrun" thinca/vim-quickrun
"github:thinca/vim-scouter" thinca/vim-scouter
"github:thinca/vim-themis" thinca/vim-themis
"github:tomasr/molokai" tomasr/molokai
"github:tomlion/vim-solidity" tomlion/vim-solidity
"github:tomtom/tlib_vim" tomtom/tlib_vim
"github:tpope/vim-abolish" tpope/vim-abolish
"github:tpope/vim-commentary" tpope/vim-commentary
"github:tpope/vim-dispatch" tpope/vim-dispatch
"github:tpope/vim-eunuch" tpope/vim-eunuch
"github:tpope/vim-fireplace" tpope/vim-fireplace
"github:tpope/vim-flagship" tpope/vim-flagship
"github:tpope/vim-fugitive" tpope/vim-fugitive
"github:tpope/vim-pathogen" tpope/vim-pathogen
"github:tpope/vim-projectionist" tpope/vim-projectionist
"github:tpope/vim-repeat" tpope/vim-repeat
"github:tpope/vim-rhubarb" tpope/vim-rhubarb
"github:tpope/vim-scriptease" tpope/vim-scriptease
"github:tpope/vim-sensible" tpope/vim-sensible
"github:tpope/vim-sleuth" tpope/vim-sleuth
"github:tpope/vim-speeddating" tpope/vim-speeddating
"github:tpope/vim-surround" tpope/vim-surround
"github:tpope/vim-tbone" tpope/vim-tbone
"github:tpope/vim-vinegar" tpope/vim-vinegar
"github:travitch/hasksyn" travitch/hasksyn
"github:twinside/vim-haskellconceal" twinside/vim-haskellconceal
"github:Twinside/vim-hoogle" Twinside/vim-hoogle
"github:tyru/caw.vim" tyru/caw.vim
"github:tyru/open-browser.vim" tyru/open-browser.vim
"github:ujihisa/neco-look" ujihisa/neco-look
"github:valloric/youcompleteme" valloric/youcompleteme
"github:vim-airline/vim-airline" vim-airline/vim-airline
"github:vim-airline/vim-airline-themes" vim-airline/vim-airline-themes
"github:vimoutliner/vimoutliner" vimoutliner/vimoutliner
"github:vim-pandoc/vim-pandoc" vim-pandoc/vim-pandoc
"github:vim-pandoc/vim-pandoc-after" vim-pandoc/vim-pandoc-after
"github:vim-pandoc/vim-pandoc-syntax" vim-pandoc/vim-pandoc-syntax
"github:vim-ruby/vim-ruby" vim-ruby/vim-ruby
"github:vim-scripts/align" vim-scripts/align
"github:vim-scripts/argtextobj.vim" vim-scripts/argtextobj.vim
"github:vim-scripts/a.vim" vim-scripts/a.vim
"github:vim-scripts/bats.vim" vim-scripts/bats.vim
"github:vim-scripts/changeColorScheme.vim" vim-scripts/changeColorScheme.vim
"github:vim-scripts/Colour-Sampler-Pack" vim-scripts/Colour-Sampler-Pack
"github:vim-scripts/Improved-AnsiEsc" vim-scripts/Improved-AnsiEsc
"github:vim-scripts/matchit.zip" vim-scripts/matchit.zip
"github:vim-scripts/mayansmoke" vim-scripts/mayansmoke
"github:vim-scripts/random.vim" vim-scripts/random.vim
"github:vim-scripts/Rename" vim-scripts/Rename
"github:vim-scripts/ReplaceWithRegister" vim-scripts/ReplaceWithRegister
"github:vim-scripts/tabmerge" vim-scripts/tabmerge
"github:vim-scripts/taglist.vim" vim-scripts/taglist.vim
"github:vim-scripts/wombat256.vim" vim-scripts/wombat256.vim
"github:vim-scripts/YankRing.vim" vim-scripts/YankRing.vim
"github:vimwiki/vimwiki" vimwiki/vimwiki
"github:vmchale/dhall-vim" vmchale/dhall-vim
"github:w0rp/ale" w0rp/ale
"github:wakatime/vim-wakatime" wakatime/vim-wakatime
"github:wellle/targets.vim" wellle/targets.vim
"github:will133/vim-dirdiff" will133/vim-dirdiff
"github:wincent/command-t" wincent/command-t
"github:xolox/vim-easytags" xolox/vim-easytags
"github:xolox/vim-misc" xolox/vim-misc
"github:xuhdev/vim-latex-live-preview" xuhdev/vim-latex-live-preview
"github:zah/nim.vim" zah/nim.vim
"github:zchee/deoplete-go" zchee/deoplete-go
"github:zchee/deoplete-jedi" zchee/deoplete-jedi
"github:zig-lang/zig.vim" zig-lang/zig.vim