From ddc4a61653f0dc620bfa565c598f92b840500a9a Mon Sep 17 00:00:00 2001 From: Brad Lewis <22850972+BradLewis@users.noreply.github.com> Date: Tue, 30 Dec 2025 08:53:11 +1100 Subject: Improve bitset completions with proc groups --- src/server/analysis.odin | 5 +++++ src/server/completion.odin | 5 +++++ 2 files changed, 10 insertions(+) (limited to 'src/server') diff --git a/src/server/analysis.odin b/src/server/analysis.odin index 2c7f4f4..3ced0ad 100644 --- a/src/server/analysis.odin +++ b/src/server/analysis.odin @@ -2451,6 +2451,11 @@ resolve_implicit_selector :: proc( if position_context.call != nil { if call, ok := position_context.call.derived.(^ast.Call_Expr); ok { parameter_index, parameter_ok := find_position_in_call_param(position_context, call^) + old := ast_context.resolve_specific_overload + ast_context.resolve_specific_overload = true + defer { + ast_context.resolve_specific_overload = old + } if symbol, ok := resolve_type_expression(ast_context, call.expr); ok && parameter_ok { if proc_value, ok := symbol.value.(SymbolProcedureValue); ok { if len(proc_value.arg_types) <= parameter_index { diff --git a/src/server/completion.odin b/src/server/completion.odin index d80e451..62f0488 100644 --- a/src/server/completion.odin +++ b/src/server/completion.odin @@ -1403,6 +1403,11 @@ get_implicit_completion :: proc( if position_context.call != nil { if call, ok := position_context.call.derived.(^ast.Call_Expr); ok { parameter_index, parameter_ok := find_position_in_call_param(position_context, call^) + old := ast_context.resolve_specific_overload + ast_context.resolve_specific_overload = true + defer { + ast_context.resolve_specific_overload = old + } if symbol, ok := resolve_type_expression(ast_context, call.expr); ok && parameter_ok { set_ast_package_set_scoped(ast_context, symbol.pkg) -- cgit v1.2.3