mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 21:51:22 +00:00 
			
		
		
		
	Use insertText from the internal autocompletion
* GDScriptLanguage::complete_code already adds parentheses to function calls, and does this a lot smarter than the language server right now.
* Instead of the previous naive approach we now reuse the same logic as the internal editor.
* For this to have any effect we also have to send the `insertText` field already during the completionRequest and not only during resolve.
(cherry picked from commit bbb07ff8cb)
			
			
This commit is contained in:
		
							parent
							
								
									d525d902c1
								
							
						
					
					
						commit
						c07d1d0de8
					
				
					 2 changed files with 3 additions and 7 deletions
				
			
		|  | @ -171,6 +171,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 ScriptCodeCompletionOption::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.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 = quote_style + item.label + quote_style; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Kurt Lachmann
						Kurt Lachmann