lsp: Fix completions when editing existing item

Many completion snippets insert more than just the name. For example,
the object completer inserts the braces and places your cursor inside
them automatically, to save some typing. However, if you're changing the
class of an existing object, this isn't what you want. Changed so that
if the next token is '{', only the name is inserted.

Made similar changes to the property and signal completers.
This commit is contained in:
James Westman 2025-01-04 13:45:47 -06:00
parent 2e42dc6848
commit bf4d8579b6
No known key found for this signature in database
GPG key ID: CE2DBA0ADB654EA6
13 changed files with 122 additions and 97 deletions

View file

@ -143,7 +143,7 @@ class ExtAdwResponseDialog(AstNode):
applies_in_subclass=("Adw", "MessageDialog"),
matches=new_statement_patterns,
)
def complete_adw_message_dialog(lsp, ast_node, match_variables):
def complete_adw_message_dialog(_ctx: CompletionContext):
yield Completion(
"responses", CompletionItemKind.Keyword, snippet="responses [\n\t$0\n]"
)
@ -154,7 +154,7 @@ def complete_adw_message_dialog(lsp, ast_node, match_variables):
applies_in_subclass=("Adw", "AlertDialog"),
matches=new_statement_patterns,
)
def complete_adw_alert_dialog(lsp, ast_node, match_variables):
def complete_adw_alert_dialog(_ctx: CompletionContext):
yield Completion(
"responses", CompletionItemKind.Keyword, snippet="responses [\n\t$0\n]"
)