diff --git a/src/tools/clangbackend/ipcsource/clangtranslationunit.h b/src/tools/clangbackend/ipcsource/clangtranslationunit.h index 467c9346523..9a311b62bfd 100644 --- a/src/tools/clangbackend/ipcsource/clangtranslationunit.h +++ b/src/tools/clangbackend/ipcsource/clangtranslationunit.h @@ -139,6 +139,8 @@ public: SkippedSourceRanges skippedSourceRanges() const; + static uint defaultOptions(); + private: void setDirty(); void checkIfNull() const; @@ -152,7 +154,6 @@ private: void reparseTranslationUnit() const; void reparseTranslationUnitIfFilesAreChanged() const; void updateIncludeFilePaths() const; - static uint defaultOptions(); static void includeCallback(CXFile included_file, CXSourceLocation * /*inclusion_stack*/, unsigned /*include_len*/, diff --git a/src/tools/clangbackend/ipcsource/codecompleter.cpp b/src/tools/clangbackend/ipcsource/codecompleter.cpp index 691686d0479..7381ac2d27f 100644 --- a/src/tools/clangbackend/ipcsource/codecompleter.cpp +++ b/src/tools/clangbackend/ipcsource/codecompleter.cpp @@ -84,15 +84,13 @@ ClangCodeCompleteResults CodeCompleter::complete(uint line, CXUnsavedFile *unsavedFiles, unsigned unsavedFileCount) { - const auto options = CXCodeComplete_IncludeMacros | CXCodeComplete_IncludeCodePatterns; - return clang_codeCompleteAt(translationUnit.cxTranslationUnitWithoutReparsing(), translationUnit.filePath().constData(), line, column, unsavedFiles, unsavedFileCount, - options); + defaultOptions()); } bool CodeCompleter::hasDotAt(uint line, uint column) const @@ -103,6 +101,17 @@ bool CodeCompleter::hasDotAt(uint line, uint column) const return unsavedFile.hasCharacterAt(location.offset(), '.'); } +uint CodeCompleter::defaultOptions() const +{ + uint options = CXCodeComplete_IncludeMacros + | CXCodeComplete_IncludeCodePatterns; + + if (translationUnit.defaultOptions() & CXTranslationUnit_IncludeBriefCommentsInCodeCompletion) + options |= CXCodeComplete_IncludeBriefComments; + + return options; +} + ClangCodeCompleteResults CodeCompleter::completeWithArrowInsteadOfDot(uint line, uint column) { ClangCodeCompleteResults results; diff --git a/src/tools/clangbackend/ipcsource/codecompleter.h b/src/tools/clangbackend/ipcsource/codecompleter.h index 99749414f4b..260ac4d581c 100644 --- a/src/tools/clangbackend/ipcsource/codecompleter.h +++ b/src/tools/clangbackend/ipcsource/codecompleter.h @@ -50,6 +50,8 @@ public: // for tests bool hasDotAt(uint line, uint column) const; private: + uint defaultOptions() const; + ClangCodeCompleteResults complete(uint line, uint column, CXUnsavedFile *unsavedFiles,