FS#41453 - vim plugins: Should depend on vim-runtime rather than vim
Attached to Project:
Arch Linux
Opened by sekret (sekret) - Monday, 04 August 2014, 07:53 GMT
Last edited by Jelle van der Waa (jelly) - Thursday, 27 July 2023, 18:39 GMT
Opened by sekret (sekret) - Monday, 04 August 2014, 07:53 GMT
Last edited by Jelle van der Waa (jelly) - Thursday, 27 July 2023, 18:39 GMT
|
Details
Description:
I've recently switched to neovim, just to see if it feels better than vim. So I wanted to get rid of vim, because I didn't need it anymore. But this wasn't possible, because e.g. latexsuite, which I use, depends on vim, although it's enough to have vim-runtime and one of the "vims" installed. So I think it would be better to make all plugins, which are shown here https://www.archlinux.org/packages/extra/x86_64/vim/ as dependent on vim, to depend on vim-runtime instead. |
This task depends upon
Closed by Jelle van der Waa (jelly)
Thursday, 27 July 2023, 18:39 GMT
Reason for closing: Fixed
Additional comments about closing: https://archlinux.org/todo/make-vim-plug ins-depend-on-vim-plugin-runtime-so-neov im-or-vim-can-be-used/
Thursday, 27 July 2023, 18:39 GMT
Reason for closing: Fixed
Additional comments about closing: https://archlinux.org/todo/make-vim-plug ins-depend-on-vim-plugin-runtime-so-neov im-or-vim-can-be-used/
That would avoid a mass rebuild and would make every aur vim plugin compatible with neovim.
I'm the last person who wants to enforce a big rebuild of packages. If I had the rights, I'd do it myself, of course. I just wanted to point out that I think this would be a clean implemention. Isn't this one of the reasons vim-runtime was created for in the first place? Frankly I can't remember it too well.
What I'll do now is wait for your decision and I can inform the neovim-git maintainer in case there's changes to be done in his package.
making all vim plugins depend on vim-runtime does not help. The best option would to give a dependency for every plugin
on either 'vim' or 'neovim' but that is not possible currently, so I would go with making neovim provide vim which is good enough
since backwards compatibility is a high priority at the moment for neovim developers.
Instead we decided with Sven to have a shared virtual provides 'vim-plugin-runtime' that both packages provide and plugins can depend on. This is a quite KISS solution while still not be technically wrong about neovim providing vim.
Does anyone have a list of packages they know work well with both neovim and vim, which should be switched?
I checked all packages in vim-plugins group.
Work with both vim & neovim:
vim-airline{,-themes}
vim-ale
vim-align
vim-ansible
vim-bufexplorer
vim-coverage-highlight
vim-csound
vim-ctrlp
vim-easymotion
vim-editorconfig
vim-fugitive
vim-gitgutter
vim-grammalecte
vim-indent-object
vim-jad
vim-jedi
vim-molokai
vim-nerdcommenter
vim-nerdtree
vim-seti
vim-supertab
vim-surround
vim-syntastic
vim-tabularize
vim-tagbar
vim-ultisnips
vim-vital
Works only in vim:
vim-latexsuite
Doesn't seem to work at all (?):
vim-pastie
There is also another issue - vim has a pacman hook that updates help tags for installed plugins. If using plugins with neovim (without vim installed) is going to be officially supported, maybe a similar hook should be added to neovim? That would potentially update help tags twice but it shouldn't be an issue.
Edit:
vim-spell-* dictionaries work fine with neovim as well.
```
This is a TODO list to allow using vim-* plugin packages with community/neovim without installing extra/vim. To achieve that, vim-* plugin packages should depend on the virtual package vim-plugin-runtime instead of vim [1]. Please check whether a plugin works with both vim and neovim or not, and update depends= in PKGBUILD and rebuild if applicable. If a plugin works with vim but not neovim, the corresponding package can be marked as finished without any change. Updated packages can go directly to stable repositories.
[1] https://bugs.archlinux.org/task/41453
```