From 50273daf85ec00f429dd61b1f9f196fb5fdc5bb2 Mon Sep 17 00:00:00 2001 From: Brad Lewis <22850972+BradLewis@users.noreply.github.com> Date: Wed, 24 Sep 2025 14:52:15 -0400 Subject: Correct resolving package instead of field when name collides --- src/server/hover.odin | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/server') diff --git a/src/server/hover.odin b/src/server/hover.odin index fe69949..e3f641d 100644 --- a/src/server/hover.odin +++ b/src/server/hover.odin @@ -290,6 +290,7 @@ get_hover_information :: proc(document: ^Document, position: common.Position) -> ast_context.current_package = selector.pkg + // TODO: Use resolve_selector_expression for this? #partial switch v in selector.value { case SymbolStructValue: for name, i in v.names { @@ -323,7 +324,8 @@ get_hover_information :: proc(document: ^Document, position: common.Position) -> } } } - if resolved, ok := resolve_type_identifier(&ast_context, ident^); ok { + + if resolved, ok := resolve_symbol_return(&ast_context, lookup(ident.name, selector.pkg, ast_context.fullpath)); ok { build_documentation(&ast_context, &resolved, false) resolved.name = ident.name -- cgit v1.2.3