Give clang_codeCompleteAt() an "options" parameter, and add a new

flags enumeration + default-generating function that allows
code-completion to be customized via the libclang API.

Plus, turn on spell-checking when performing code completion.

llvm-svn: 110319
This commit is contained in:
Douglas Gregor
2010-08-05 09:09:23 +00:00
parent 42d7d19710
commit b68bc59a2d
7 changed files with 72 additions and 11 deletions

View File

@@ -569,7 +569,8 @@ CXCodeCompleteResults *clang_codeCompleteAt(CXTranslationUnit TU,
unsigned complete_line,
unsigned complete_column,
struct CXUnsavedFile *unsaved_files,
unsigned num_unsaved_files) {
unsigned num_unsaved_files,
unsigned options) {
#ifdef UDP_CODE_COMPLETION_LOGGER
#ifdef UDP_CODE_COMPLETION_LOGGER_PORT
const llvm::TimeRecord &StartTime = llvm::TimeRecord::getCurrentTime();
@@ -611,7 +612,10 @@ CXCodeCompleteResults *clang_codeCompleteAt(CXTranslationUnit TU,
// Perform completion.
AST->CodeComplete(complete_filename, complete_line, complete_column,
RemappedFiles.data(), RemappedFiles.size(), Capture,
RemappedFiles.data(), RemappedFiles.size(),
(options & CXCodeComplete_IncludeMacros),
(options & CXCodeComplete_IncludeCodePatterns),
Capture,
*Results->Diag, Results->LangOpts, Results->SourceMgr,
Results->FileMgr, Results->Diagnostics);
@@ -692,6 +696,10 @@ CXCodeCompleteResults *clang_codeCompleteAt(CXTranslationUnit TU,
return Results;
}
unsigned clang_defaultCodeCompleteOptions(void) {
return CXCodeComplete_IncludeMacros;
}
void clang_disposeCodeCompleteResults(CXCodeCompleteResults *ResultsIn) {
if (!ResultsIn)
return;