Hi,

> Our startup is developing power tools for C developers that will be
> available as a Vim plugin.
> 
> We plan to provide support for common refactorings (Rename, Extract
> Function, Extract Local, Change Message Signature, etc.,), automatic
> and smart code completion that is context-sensitive, quick fixes,
> etc.
> 
> We have created an infrastructure to support many syntax-aware and
> semantics-aware features.
> We want to know from the C developers (and hopefully future consumers
> of our plugin) about features that you would love to have.  This
> will help us make a better tool for the Vim+C developer community.

Discl.: 
- I don't really care about C. However, I care a lot about C++. 
- I've started years ago a generic refactoring suite built upon ctags poor 
understanding of C++.
https://github.com/LucHermitte/vim-refactor
- Regarding quickfix, I already have almost everything that I need 
(https://github.com/LucHermitte/vim-build-tools-wrapper)

Today, the main refactoring I miss is /function extraction/. I have a ersatz 
that doesn't work as well as I would like.
One of the main issue comes from ctags poor understanding of C++: it's quite 
difficult to list properly all local variables and types. I know I could do 
things correctly thanks to clang, but I don't really have the time to do it.
Note that it'll be quite important to be able to specify how out and in/out 
data are exchanged (reference parameter, returned values (tuples, struct...), 
attribute, and so on), and how arguments could be bound to parameters.

In all cases, I'd like the tool to respect the current project coding style 
(Note that I may open several windows/buffers with different coding styles. By 
/coding style/ I mean: naming policy (I may also have a naming policy for 
parameters and/or local variables), indentation, brackets placement, "const" 
placement (-> "T const&" VS "const T &"), ... I may also want the extraction to 
follow Almost Auto Policy if C++11 is detected.

Regarding smart code completion, we already have YouCompleteMe. My biggest 
issues with it are:
- It's quite difficult to have a configuration with is project specific.
- It doesn't support correctly code navigation (because code indexing is 
restricted to the current compilation unit) -- which isn't its main purpose, we 
have to admit.
- When its server crashes on a code base, it becomes completely impossible to 
use.


Good luck for your project,

-- 
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to