Browse Source

Merge pull request #4 from eidheim/master

autocompletion availability moved to separate function
merge-requests/37/head
Jørgen Lien Sellæg 11 years ago
parent
commit
19b59e5b22
  1. 23
      src/CompletionString.cc
  2. 1
      src/CompletionString.h

23
src/CompletionString.cc

@ -5,23 +5,20 @@ CompletionString(const CXCompletionString &str) {
str_ = str;
}
int clang::CompletionString::
get_num_chunks() {
if (clang_getCompletionAvailability(str_) == CXAvailability_Available)
bool clang::CompletionString::available() {
return clang_getCompletionAvailability(str_) == CXAvailability_Available;
}
int clang::CompletionString::get_num_chunks() {
return clang_getNumCompletionChunks(str_);
else
return 0;
}
std::vector<clang::CompletionChunk> clang::CompletionString::
get_chunks() {
std::vector<clang::CompletionChunk> clang::CompletionString::get_chunks() {
std::vector<clang::CompletionChunk> res;
if (clang_getCompletionAvailability(str_) == CXAvailability_Available) {
for (size_t i = 0; i < get_num_chunks(); i++) {
res.emplace_back(clang_getCString(clang_getCompletionChunkText(str_, i)),
static_cast<CompletionChunkKind>
(clang_getCompletionChunkKind(str_, i)));
}
for (size_t i = 0; i < get_num_chunks(); i++) {
auto cxstr=clang_getCompletionChunkText(str_, i);
res.emplace_back(clang_getCString(cxstr), static_cast<CompletionChunkKind> (clang_getCompletionChunkKind(str_, i)));
clang_disposeString(cxstr);
}
return res;
}

1
src/CompletionString.h

@ -27,6 +27,7 @@ namespace clang {
class CompletionString {
public:
bool available();
std::vector<CompletionChunk> get_chunks();
std::string get_brief_comments();
int get_num_chunks();

Loading…
Cancel
Save