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; str_ = str;
} }
int clang::CompletionString:: bool clang::CompletionString::available() {
get_num_chunks() { return clang_getCompletionAvailability(str_) == CXAvailability_Available;
if (clang_getCompletionAvailability(str_) == CXAvailability_Available) }
int clang::CompletionString::get_num_chunks() {
return clang_getNumCompletionChunks(str_); return clang_getNumCompletionChunks(str_);
else
return 0;
} }
std::vector<clang::CompletionChunk> clang::CompletionString:: std::vector<clang::CompletionChunk> clang::CompletionString::get_chunks() {
get_chunks() {
std::vector<clang::CompletionChunk> res; std::vector<clang::CompletionChunk> res;
if (clang_getCompletionAvailability(str_) == CXAvailability_Available) { for (size_t i = 0; i < get_num_chunks(); i++) {
for (size_t i = 0; i < get_num_chunks(); i++) { auto cxstr=clang_getCompletionChunkText(str_, i);
res.emplace_back(clang_getCString(clang_getCompletionChunkText(str_, i)), res.emplace_back(clang_getCString(cxstr), static_cast<CompletionChunkKind> (clang_getCompletionChunkKind(str_, i)));
static_cast<CompletionChunkKind> clang_disposeString(cxstr);
(clang_getCompletionChunkKind(str_, i)));
}
} }
return res; return res;
} }

1
src/CompletionString.h

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

Loading…
Cancel
Save