clang-tools
11.0.0
|
#include <CodeComplete.h>
Classes | |
struct | IncludeInsertionIndicator |
A visual indicator to prepend to the completion label to indicate whether completion result would trigger an #include insertion or not. More... | |
Public Types | |
enum | IncludeInsertion { IWYU, NeverInsert } |
enum | CodeCompletionParse { AlwaysParse, ParseIfReady, NeverParse } |
Whether to use the clang parser, or fallback to text-based completion (using identifiers in the current file and symbol indexes). More... | |
Public Member Functions | |
clang::CodeCompleteOptions | getClangCompleteOpts () const |
Returns options that can be passed to clang's completion engine. More... | |
Public Attributes | |
bool | EnableSnippets = false |
When true, completion items will contain expandable code snippets in completion (e.g. More... | |
bool | IncludeCodePatterns = true |
Add code patterns to completion results. More... | |
bool | IncludeMacros = true |
Add macros to code completion results. More... | |
bool | IncludeComments = true |
Add comments to code completion results, if available. More... | |
bool | IncludeIneligibleResults = false |
Include results that are not legal completions in the current context. More... | |
llvm::Optional< bool > | BundleOverloads |
Combine overloads into a single completion item where possible. More... | |
size_t | Limit = 0 |
Limit the number of results returned (0 means no limit). More... | |
MarkupKind | DocumentationFormat = MarkupKind::PlainText |
Whether to present doc comments as plain-text or markdown. More... | |
enum clang::clangd::CodeCompleteOptions::IncludeInsertion | InsertIncludes = IncludeInsertion::IWYU |
struct clang::clangd::CodeCompleteOptions::IncludeInsertionIndicator | IncludeIndicator |
bool | ShowOrigins = false |
Expose origins of completion items in the label (for debugging). More... | |
bool | SpeculativeIndexRequest = false |
If set to true, this will send an asynchronous speculative index request, based on the index request for the last code completion on the same file and the filter text typed before the cursor, before sema code completion is invoked. More... | |
const SymbolIndex * | Index = nullptr |
If Index is set, it is used to augment the code completion results. More... | |
bool | IncludeFixIts = false |
Include completions that require small corrections, e.g. More... | |
bool | EnableFunctionArgSnippets = true |
Whether to generate snippets for function arguments on code-completion. More... | |
bool | AllScopes = false |
Whether to include index symbols that are not defined in the scopes visible from the code completion point. More... | |
enum clang::clangd::CodeCompleteOptions::CodeCompletionParse | RunParser = ParseIfReady |
std::function< void(const CodeCompletion &, const SymbolQualitySignals &, const SymbolRelevanceSignals &, float Score)> | RecordCCResult |
Callback invoked on all CompletionCandidate after they are scored and before they are ranked (by -Score). More... | |
Definition at line 44 of file CodeComplete.h.
Whether to use the clang parser, or fallback to text-based completion (using identifiers in the current file and symbol indexes).
Definition at line 130 of file CodeComplete.h.
Enumerator | |
---|---|
IWYU | |
NeverInsert |
Definition at line 81 of file CodeComplete.h.
clang::CodeCompleteOptions clang::clangd::CodeCompleteOptions::getClangCompleteOpts | ( | ) | const |
Returns options that can be passed to clang's completion engine.
Definition at line 1726 of file CodeComplete.cpp.
bool clang::clangd::CodeCompleteOptions::AllScopes = false |
Whether to include index symbols that are not defined in the scopes visible from the code completion point.
This applies in contexts without explicit scope qualifiers.
Such completions can insert scope qualifiers.
Definition at line 126 of file CodeComplete.h.
llvm::Optional<bool> clang::clangd::CodeCompleteOptions::BundleOverloads |
Combine overloads into a single completion item where possible.
If none, the implementation may choose an appropriate behavior. (In practice, ClangdLSPServer enables bundling if the client claims to supports signature help).
Definition at line 72 of file CodeComplete.h.
MarkupKind clang::clangd::CodeCompleteOptions::DocumentationFormat = MarkupKind::PlainText |
Whether to present doc comments as plain-text or markdown.
Definition at line 79 of file CodeComplete.h.
bool clang::clangd::CodeCompleteOptions::EnableFunctionArgSnippets = true |
Whether to generate snippets for function arguments on code-completion.
Needs snippets to be enabled as well.
Definition at line 119 of file CodeComplete.h.
bool clang::clangd::CodeCompleteOptions::EnableSnippets = false |
When true, completion items will contain expandable code snippets in completion (e.g.
return ${1:expression}
or `foo(${1:int a}, ${2:int b})).
Definition at line 51 of file CodeComplete.h.
bool clang::clangd::CodeCompleteOptions::IncludeCodePatterns = true |
Add code patterns to completion results.
If EnableSnippets is false, this options is ignored and code patterns will always be omitted.
Definition at line 56 of file CodeComplete.h.
bool clang::clangd::CodeCompleteOptions::IncludeComments = true |
Add comments to code completion results, if available.
Definition at line 62 of file CodeComplete.h.
bool clang::clangd::CodeCompleteOptions::IncludeFixIts = false |
Include completions that require small corrections, e.g.
change '.' to '->' on member access etc.
Definition at line 115 of file CodeComplete.h.
struct clang::clangd::CodeCompleteOptions::IncludeInsertionIndicator clang::clangd::CodeCompleteOptions::IncludeIndicator |
bool clang::clangd::CodeCompleteOptions::IncludeIneligibleResults = false |
Include results that are not legal completions in the current context.
For example, private members are usually inaccessible.
Definition at line 66 of file CodeComplete.h.
bool clang::clangd::CodeCompleteOptions::IncludeMacros = true |
Add macros to code completion results.
Definition at line 59 of file CodeComplete.h.
const SymbolIndex* clang::clangd::CodeCompleteOptions::Index = nullptr |
If Index
is set, it is used to augment the code completion results.
FIXME(ioeric): we might want a better way to pass the index around inside clangd.
Definition at line 111 of file CodeComplete.h.
enum clang::clangd::CodeCompleteOptions::IncludeInsertion clang::clangd::CodeCompleteOptions::InsertIncludes = IncludeInsertion::IWYU |
size_t clang::clangd::CodeCompleteOptions::Limit = 0 |
Limit the number of results returned (0 means no limit).
If more results are available, we set CompletionList.isIncomplete.
Definition at line 76 of file CodeComplete.h.
std::function<void(const CodeCompletion &, const SymbolQualitySignals &, const SymbolRelevanceSignals &, float Score)> clang::clangd::CodeCompleteOptions::RecordCCResult |
Callback invoked on all CompletionCandidate after they are scored and before they are ranked (by -Score).
Thus the results are yielded in arbitrary order.
This callbacks allows capturing various internal structures used by clangd during code completion. Eg: Symbol quality and relevance signals.
Definition at line 149 of file CodeComplete.h.
enum clang::clangd::CodeCompleteOptions::CodeCompletionParse clang::clangd::CodeCompleteOptions::RunParser = ParseIfReady |
bool clang::clangd::CodeCompleteOptions::ShowOrigins = false |
Expose origins of completion items in the label (for debugging).
Definition at line 94 of file CodeComplete.h.
bool clang::clangd::CodeCompleteOptions::SpeculativeIndexRequest = false |
If set to true, this will send an asynchronous speculative index request, based on the index request for the last code completion on the same file and the filter text typed before the cursor, before sema code completion is invoked.
This can reduce the code completion latency (by roughly latency of sema code completion) if the speculative request is the same as the one generated for the ongoing code completion from sema. As a sequence of code completions often have the same scopes and proximity paths etc, this should be effective for a number of code completions.
Definition at line 104 of file CodeComplete.h.