diff --git a/src/server/analysis.odin b/src/server/analysis.odin index 90cfd70b..93ada479 100644 --- a/src/server/analysis.odin +++ b/src/server/analysis.odin @@ -5122,8 +5122,7 @@ get_document_position_node :: proc( case ^Selector_Call_Expr: if position_context.hint == .Definition || position_context.hint == .Hover || - position_context.hint == .SignatureHelp || - position_context.hint == .Completion { + position_context.hint == .SignatureHelp { position_context.selector = n.expr position_context.field = n.call position_context.selector_expr = cast(^Selector_Expr)node diff --git a/src/server/completion.odin b/src/server/completion.odin index 356903ec..e404b78c 100644 --- a/src/server/completion.odin +++ b/src/server/completion.odin @@ -608,7 +608,8 @@ get_selector_completion :: proc( } if position_context.arrow { - if symbol.type != .Function { + if symbol.type != .Function && + symbol.type != .Type_Function { continue } if .ObjCIsClassMethod in symbol.flags {