diff options
| author | DanielGavin <danielgavin5@hotmail.com> | 2025-04-30 11:11:59 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-30 11:11:59 +0200 |
| commit | 65253fea01ba3648314947a489de6f57934b70ee (patch) | |
| tree | 56b0a3af596130abfc979edc0074f6110c6f689d /src | |
| parent | d12ee2ef83989d0fcf71b20a0305111344a69b7d (diff) | |
| parent | 93accc8b78bc6406e137ced082b0e09ec04a8a83 (diff) | |
Merge pull request #631 from harold-b/hb.fix-bitset-completion
Fix bit_set implicit selector completion
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/completion.odin | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/server/completion.odin b/src/server/completion.odin index 97d956d..7383785 100644 --- a/src/server/completion.odin +++ b/src/server/completion.odin @@ -731,6 +731,7 @@ get_implicit_completion :: proc( if position_context.comp_lit != nil { if bitset_symbol, ok := resolve_type_expression(ast_context, position_context.value_decl.type); ok { + set_ast_package_from_symbol_scoped(ast_context, bitset_symbol) if _enum_value, ok := unwrap_bitset(ast_context, bitset_symbol); ok { enum_value = _enum_value } @@ -949,19 +950,22 @@ get_implicit_completion :: proc( return } } - } else if s, ok := unwrap_bitset(ast_context, comp_symbol); ok { - for enum_name in s.names { - item := CompletionItem { - label = enum_name, - kind = .EnumMember, - detail = enum_name, + } else { + set_ast_package_set_scoped(ast_context, comp_symbol.pkg) + if s, ok := unwrap_bitset(ast_context, comp_symbol); ok { + for enum_name in s.names { + item := CompletionItem { + label = enum_name, + kind = .EnumMember, + detail = enum_name, + } + + append(&items, item) } - append(&items, item) + list.items = items[:] + return } - - list.items = items[:] - return } } } |