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