Monday, November 6, 2017

Re: Handling differences in different plugins for the same type of operation

Hi,

> For C with relatives (C++, Java, ...) there seem to be vim-refactor,
> https://github.com/LucHermitte/vim-refactor.
>
> Even if these work they are no where close to a uniform interface.
> How do you guys handle such issues, stick with the differences,
> remap until insane, or something else?

I don't use multiple plugins providing a similar feature. Mainly because I'm implementing most of what I use regarding source code manipulation.


> I think it would be great if i could have a uniform interface to use
> for refactoring regardless of which language i happen to use at the
> moment. Remembering three different mappings for refactoring and
> when each one applies steal my focus from what i would like to do.


I can only speak for vim-refactor that I'm maintaining. Two things, the plugin tries to be as generic (i.e. language independent) as possible, and if your language isn't supported it could be added. However, this is a generic and vim based plugin. Dedicated plugins that rely on external tools will certainly do a better job.
The languages currently supported are the ones I'm working with (C++ and family, vim, and bash essentially)

Also, back to your concern, the mappings can be remapped as they are all `<plug>mappings` (1). However, they all work in two steps: first we extract, then we go manually where the extracted thing should be defined and we paste it there. I don't know how the extract-refactorings from the other plugins are meant to be used.


BTW, I'm becoming confident that the future of vim-refactor, and some other plugins, will be to leave its/their place to plugins compatible with Language Server Protocol.

(1) https://github.com/LucHermitte/vim-refactor/blob/master/plugin/refactor.vim#L127

--
Luc Hermitte

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: