Procházet zdrojové kódy

Merge pull request #59482 from kurtlachmann/lsp_better_parentheses

Rémi Verschelde před 3 roky
rodič
revize
9839761e24

+ 2 - 6
modules/gdscript/language_server/gdscript_text_document.cpp

@@ -169,6 +169,7 @@ Array GDScriptTextDocument::completion(const Dictionary &p_params) {
 			lsp::CompletionItem item;
 			item.label = option.display;
 			item.data = request_data;
+			item.insertText = option.insert_text;
 
 			switch (option.kind) {
 				case ScriptLanguage::CODE_COMPLETION_KIND_ENUM:
@@ -278,12 +279,7 @@ Dictionary GDScriptTextDocument::resolve(const Dictionary &p_params) {
 		item.documentation = symbol->render();
 	}
 
-	if ((item.kind == lsp::CompletionItemKind::Method || item.kind == lsp::CompletionItemKind::Function) && !item.label.ends_with("):")) {
-		item.insertText = item.label + "(";
-		if (symbol && symbol->children.is_empty()) {
-			item.insertText += ")";
-		}
-	} else if (item.kind == lsp::CompletionItemKind::Event) {
+	if (item.kind == lsp::CompletionItemKind::Event) {
 		if (params.context.triggerKind == lsp::CompletionTriggerKind::TriggerCharacter && (params.context.triggerCharacter == "(")) {
 			const String quote_style = EDITOR_GET("text_editor/completion/use_single_quotes") ? "'" : "\"";
 			item.insertText = item.label.quote(quote_style);

+ 1 - 1
modules/gdscript/language_server/lsp.hpp

@@ -1004,8 +1004,8 @@ struct CompletionItem {
 		dict["label"] = label;
 		dict["kind"] = kind;
 		dict["data"] = data;
+		dict["insertText"] = insertText;
 		if (resolved) {
-			dict["insertText"] = insertText;
 			dict["detail"] = detail;
 			dict["documentation"] = documentation.to_json();
 			dict["deprecated"] = deprecated;