aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorBradley Lewis <22850972+BradLewis@users.noreply.github.com>2025-08-12 20:32:30 -0400
committerGitHub <noreply@github.com>2025-08-12 20:32:30 -0400
commitdfdeeaec1b52b6c3c66d224ee6433aad47903afd (patch)
tree6562a77bbec1e00e0cf602588d3d3f7f283e2464 /src/server
parentd464ae4f65d41fa9abbac656cbfa804af3662162 (diff)
parent0703d58d1823fcaebb4b7d302b2bc6f8c9cc941e (diff)
Merge pull request #869 from BradLewis/fix/completions-enum-maps
Correctly resolve completions for comp lit map with enum keys and values
Diffstat (limited to 'src/server')
-rw-r--r--src/server/analysis.odin9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/server/analysis.odin b/src/server/analysis.odin
index e9e5d30..ef97a80 100644
--- a/src/server/analysis.odin
+++ b/src/server/analysis.odin
@@ -2031,6 +2031,15 @@ resolve_implicit_selector_comp_literal :: proc(
// .valueTwo = 2,
//}
return resolve_type_expression(ast_context, v.len)
+ case SymbolMapValue:
+ for elem in comp_lit.elems {
+ if position_in_node(elem, position_context.position) {
+ if _, ok := elem.derived.(^ast.Field_Value); ok {
+ return resolve_type_expression(ast_context, v.value)
+ }
+ return resolve_type_expression(ast_context, v.key)
+ }
+ }
}
}
return {}, false