summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-08-05 09:09:23 +0000
committerDouglas Gregor <dgregor@apple.com>2010-08-05 09:09:23 +0000
commitb68bc59a2d51dce59a221b52a6490cac8bb65c56 (patch)
tree7708292d1996bce7b67f5329d2b3086c68e8b0d6 /clang/tools/libclang
parent42d7d19710d09f00f030eff543ff8841b5b56c64 (diff)
downloadbcm5719-llvm-b68bc59a2d51dce59a221b52a6490cac8bb65c56.tar.gz
bcm5719-llvm-b68bc59a2d51dce59a221b52a6490cac8bb65c56.zip
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
Diffstat (limited to 'clang/tools/libclang')
-rw-r--r--clang/tools/libclang/CIndexCodeCompletion.cpp12
-rw-r--r--clang/tools/libclang/libclang.darwin.exports1
-rw-r--r--clang/tools/libclang/libclang.exports1
3 files changed, 12 insertions, 2 deletions
diff --git a/clang/tools/libclang/CIndexCodeCompletion.cpp b/clang/tools/libclang/CIndexCodeCompletion.cpp
index 2aa644b7579..4ab6b9bd91e 100644
--- a/clang/tools/libclang/CIndexCodeCompletion.cpp
+++ b/clang/tools/libclang/CIndexCodeCompletion.cpp
@@ -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;
diff --git a/clang/tools/libclang/libclang.darwin.exports b/clang/tools/libclang/libclang.darwin.exports
index b971ed38382..8ebdf9916e2 100644
--- a/clang/tools/libclang/libclang.darwin.exports
+++ b/clang/tools/libclang/libclang.darwin.exports
@@ -13,6 +13,7 @@ _clang_constructUSR_ObjCProtocol
_clang_createIndex
_clang_createTranslationUnit
_clang_createTranslationUnitFromSourceFile
+_clang_defaultCodeCompleteOptions
_clang_defaultDiagnosticDisplayOptions
_clang_disposeCodeCompleteResults
_clang_disposeDiagnostic
diff --git a/clang/tools/libclang/libclang.exports b/clang/tools/libclang/libclang.exports
index b5533fcbcfc..793b0428081 100644
--- a/clang/tools/libclang/libclang.exports
+++ b/clang/tools/libclang/libclang.exports
@@ -13,6 +13,7 @@ clang_constructUSR_ObjCProtocol
clang_createIndex
clang_createTranslationUnit
clang_createTranslationUnitFromSourceFile
+clang_defaultCodeCompleteOptions
clang_defaultDiagnosticDisplayOptions
clang_disposeCodeCompleteResults
clang_disposeDiagnostic
OpenPOWER on IntegriCloud