Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: What do you think about relying on vim-rplugin for keeping Vim 8 compatibility? #23

Closed
lambdalisue opened this issue Sep 29, 2016 · 4 comments

Comments

@lambdalisue
Copy link
Collaborator

lambdalisue commented Sep 29, 2016

Problems summary

Currently denite.vim support Vim 8 by extending vim module directly but

  • vim is shared to all plugins so once your approach got famous, there would be tons of variation of vim.call() implementations and each other will be conflict
  • vim.vars, vim.options or whatever returns bytes instead of str in Python 3 and it would cause Unicode encode/decode error

RFC

Recently I made vim-rplugin to solve all problems above.
So what do you think about relying on that plugin to support Vim 8? If you are OK with this idea, I will implement the feature sometime ;-)

Pros.

  • You can remove most of code for Vim 8 so the code become more simple
  • It wrap vim module rather than extend so that vim.call() always returns what you want.
  • It automatically decode bytes to str so you don't have to change codes for Neovim and Vim 8

Cons.

  • User who want to use denite.nvim in Vim 8 need to install lambdalisue/vim-rplugin as well.
  • Performance may decrease in Vim 8 while vim-rplugin use Proxy strategy
@Shougo
Copy link
Owner

Shougo commented Oct 1, 2016

I don't want to depend on vim-rplugin.
But I can include vim-rplugin into denite.nvim.

@lambdalisue
Copy link
Collaborator Author

Ok. Fair enough. vim-rplugin is MIT so you can copy if you like the way :-)

@lambdalisue
Copy link
Collaborator Author

In case while I forgot to mention, vim-rplugin is only required for people who want to use the plugin in vim8 and neovim user never need that.

That why I decide to rely on that plugin for further my products while I decide to use rplugin strategy for main and vim8 support is now optional feature for me.

In case if you mis-understood and thought the vim-rplugin dependency exist also for neovim users.

@Shougo
Copy link
Owner

Shougo commented Oct 4, 2016

I have included rplugin into denite.nvim.
It seems better. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants