aboutsummaryrefslogtreecommitdiff
path: root/src/server/completion.odin
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/completion.odin')
-rw-r--r--src/server/completion.odin9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/server/completion.odin b/src/server/completion.odin
index 7e789f0..5eb8e64 100644
--- a/src/server/completion.odin
+++ b/src/server/completion.odin
@@ -96,7 +96,9 @@ get_completion_list :: proc(
}
if position_context.selector != nil {
- if position_context.selector_expr != nil {
+ if _, ok := position_context.selector.derived.(^ast.Ident); ok {
+ completion_type = .Selector
+ } else if position_context.selector_expr != nil {
if selector_call, ok := position_context.selector_expr.derived.(^ast.Selector_Call_Expr); ok {
if !position_in_node(selector_call.call, position_context.position) {
completion_type = .Selector
@@ -1401,7 +1403,10 @@ get_implicit_completion :: proc(
}
if len(position_context.assign.lhs) > rhs_index {
- if enum_value, unwrapped_super_enum, ok := unwrap_enum(ast_context, position_context.assign.lhs[rhs_index]); ok {
+ if enum_value, unwrapped_super_enum, ok := unwrap_enum(
+ ast_context,
+ position_context.assign.lhs[rhs_index],
+ ); ok {
for name in enum_value.names {
item := CompletionItem {
label = name,