Sunday, October 9, 2016

Re: Omni completion for C++

Hugo Gagnon wrote:

> The project I am working on, which is quite large, uses GCC
> and fails to compile with Clang on some files. I cannot change
> files based on whether or not they compile with Clang.

OK. I don't know about the context of your project of course, but
being able to compile code with both gcc and clang brings many
benefits:
- it helps to make code more portable.
- clang warnings can reveal bugs.
- you can then use clang based tools: clang static analyzer, YCM
Vim plugin, rtags vim plugin, , clang format vim plugin,
include-what-you-use...

Maybe you can convince others in your project of the benefits.
It should not be a lot of work to compile c++ with both gcc and
clang.

> So the first reason why I am not interested in YCM is that I
> find it annoying to have completion working for only a subset
> of files. Second, as the project is made of several sub projects,
> and since none of them uses CMake, it is actually not that
> simple to set up YCM in my case.

If you do not use cmake, then you may be able to generate
the compilation database "compile_commands.json" using
bears. I've never tried it, but it may work for you:

https://github.com/rizsotto/Bear

> Third, I find plugins like YCM to be inherently slow on large
> files with many includes.

I don't see that. YCM is very fast, and I use c++ with STL
and boost which has many includes. rtags on the other
hand can be slow, but it's still useful to browse c++ code
reliably. Alternatives that don't use a proper c++ parser
such as ctags or cscope don't work well enough for c++.

Regards
Dominique

--
--
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:

Post a Comment