1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

Omit quotes from completion if triggered with quote

Typing a single or double quote in an external editor triggers
auto-completion. The returned CompletionItem should not include
quotes since they're already in the editor.

CompletionParams was missing context in to_json() and this is
required to detect whether a quote was typed.

(cherry picked from commit 7ea4247c3d)
This commit is contained in:
0x4448
2023-09-17 13:50:29 -07:00
committed by Yuri Sizov
parent 2d82ab735c
commit ced93eb2e5
2 changed files with 20 additions and 0 deletions

View File

@@ -305,6 +305,15 @@ Dictionary GDScriptTextDocument::resolve(const Dictionary &p_params) {
}
}
if (item.kind == lsp::CompletionItemKind::Method) {
bool is_trigger_character = params.context.triggerKind == lsp::CompletionTriggerKind::TriggerCharacter;
bool is_quote_character = params.context.triggerCharacter == "\"" || params.context.triggerCharacter == "'";
if (is_trigger_character && is_quote_character && item.insertText.is_quoted()) {
item.insertText = item.insertText.unquote();
}
}
return item.to_json(true);
}