aboutsummaryrefslogtreecommitdiff
path: root/src/server/completion.odin
diff options
context:
space:
mode:
authorDanielGavin <danielgavin5@hotmail.com>2024-06-08 18:26:34 +0200
committerDanielGavin <danielgavin5@hotmail.com>2024-06-08 18:26:34 +0200
commit42fefebdd512958b41948abefb2d52c1b4682aff (patch)
tree5ceb18e546f427730fb43d0b1602a3292e329a0b /src/server/completion.odin
parentd02d49f894b9c0a611b49a9b3e29932ad1870c46 (diff)
Fix issues with selector call expression confusing whether to selector complete or identifier
Diffstat (limited to 'src/server/completion.odin')
-rw-r--r--src/server/completion.odin14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/server/completion.odin b/src/server/completion.odin
index e404b78..efd18f9 100644
--- a/src/server/completion.odin
+++ b/src/server/completion.odin
@@ -99,7 +99,19 @@ get_completion_list :: proc(
}
if position_context.selector != nil {
- completion_type = .Selector
+ 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
+ }
+ }
+ } else {
+ completion_type = .Selector
+ }
}
if position_context.tag != nil {