aboutsummaryrefslogtreecommitdiff
path: root/src/server/completion.odin
diff options
context:
space:
mode:
authorDanielGavin <danielgavin5@hotmail.com>2024-04-18 22:48:46 +0200
committerGitHub <noreply@github.com>2024-04-18 22:48:46 +0200
commit44035ebcf7df40cd24482cef5145394945284ca0 (patch)
tree8936b49f3eb798b17b55b5050c8a211396ccd673 /src/server/completion.odin
parent545e6a2874fe96c3d6dbce294705cca2f452b449 (diff)
parentbbd6f7fc5226a2b28f7aa15211f957e85f5418f1 (diff)
Merge pull request #359 from harold-b/fake-methods-receiver
Emit proc "receiver" when using fake methods.
Diffstat (limited to 'src/server/completion.odin')
-rw-r--r--src/server/completion.odin5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/completion.odin b/src/server/completion.odin
index f917498..5cae51e 100644
--- a/src/server/completion.odin
+++ b/src/server/completion.odin
@@ -345,6 +345,10 @@ get_selector_completion :: proc(
}
}
+ receiver_start := position_context.selector.expr_base.pos.offset
+ receiver_end := position_context.selector.expr_base.end.offset
+ receiver := position_context.file.src[receiver_start:receiver_end]
+
if s, ok := selector.value.(SymbolProcedureValue); ok {
if len(s.return_types) == 1 {
if selector, ok = resolve_type_expression(
@@ -362,6 +366,7 @@ get_selector_completion :: proc(
selector,
position_context,
&items,
+ receiver,
)
}