forked from qt-creator/qt-creator
LSP: CompletionRequest: set triggerCharacter when possible
When the completion request is triggered by an activation character, set the triggerCharacter accordingly. This can help the language server to propose more sensible items. Detected while trying cmake language server. It was throwing an error when triggerKind is TriggerCharacter and triggerCharacter is not present. Change-Id: Ifde578e39f2eebfc5c6551f08985f4408f6c7933 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -318,9 +318,14 @@ IAssistProposal *LanguageClientCompletionAssistProcessor::perform(const AssistIn
|
||||
}
|
||||
CompletionRequest completionRequest;
|
||||
CompletionParams::CompletionContext context;
|
||||
context.setTriggerKind(interface->reason() == ActivationCharacter
|
||||
? CompletionParams::TriggerCharacter
|
||||
: CompletionParams::Invoked);
|
||||
if (interface->reason() == ActivationCharacter) {
|
||||
context.setTriggerKind(CompletionParams::TriggerCharacter);
|
||||
QChar triggerCharacter = interface->characterAt(interface->position() - 1);
|
||||
if (!triggerCharacter.isNull())
|
||||
context.setTriggerCharacter(triggerCharacter);
|
||||
} else {
|
||||
context.setTriggerKind(CompletionParams::Invoked);
|
||||
}
|
||||
auto params = completionRequest.params().value_or(CompletionParams());
|
||||
int line;
|
||||
int column;
|
||||
|
Reference in New Issue
Block a user