Closed ambasta closed 8 years ago
@ambasta Hi,
At first, I'm nerver written C and C++ \o/ So, I do not write even sample code.
next, you want to complete boost/asio library?
It should be complemented if it's include
in the code that is written by you.
I want an operation test. Could you post a sample code?
Sorry, close of issue is mistake.
// Header names do not autocomplete //
#include <boost/graph/use_mpi.hpp>
#include <boost/graph/distributed/mpi_process_group.hpp>
#include <boost/graph/distributed/dijkstra_shortest_paths.hpp>
#include <boost/graph/distributed/adjacency_list.hpp>
#include <fstream>
#include <string>
#ifdef BOOST_NO_EXCEPTIONS
void boost::throw_exception(std::exception const& exc) {
std::cout << exc.what() << std::endl;
}
#endif
using namespace boost;
using boost::graph::distributed::mpi_process_group;
// definitions such as adjacency_list etc don't always autocomplete
typedef adjacency_list<vecS, distributedS<mpi_process_group, vecS>, undirectedS, property<vertex_distance_t, float>, property<edge_weight_t, float> > Graph;
int main(int argc, char* argv[]) {
return 0;
}
I will test it later.
I have tested this feature in your minimal init.vim.
neoinclude
for it.https://github.com/Shougo/neoinclude.vim
@Shougo Any ideas on how I can speed this up?
YCM is very fast for external libraries as well
@haifengkao We know lol We will do our best so that the equal speed.
@zchee I don't really understand why deoplete is slow for external libraries. libclang should work for external libraries (and fast). The only thing you need is to specify the header locations.
@haifengkao
I don't really understand why deoplete is slow for external libraries. libclang should work for external libraries (and fast). The only thing you need is to specify the header locations.
Yes, libclang is faster and de-facto library for parse C language.
(and fast)
meaning of on YCM?
If so, Yes. YCM also uses libclang. But it's real libclang shared library.
Maybe(I do not much look at the YCM code) parse buffer, conversion AST to complete word or whatever, were executed C++ side. Not through a Python.
We use libclang-python3
. It's libclang binding for Python3, and performance will degraded because bypass a Python.
(If you have experience with the libclang-python and was not slow, please let me know)
I think If included small external library such as dispatch.h
, it will fast(tested).
But boost library seems large(I never used boost), very slow.
However, the slow cause might be a problem with the current deoplete-clang code, so we are during the validation now.
@haifengkao Ah, I'm overlooked.
The only thing you need is to specify the header locations.
In other word? like -I/usr/local/include/foo
?
@zchee YES.
Hi,
While deoplete-clang works wonders for stdlib, libraries such as boost/asio etc do not lead to code completion. How do I enable support for external libraries?
Environment Information
init.vim