aboutsummaryrefslogtreecommitdiff
path: root/src/server/completion.odin
diff options
context:
space:
mode:
authorLucas Perlind <perlindluca@gmail.com>2023-01-24 21:48:33 +1100
committerLucas Perlind <perlindluca@gmail.com>2023-01-24 21:49:52 +1100
commit425a81e728aabed07d46c22c1f1dfae5958b8b62 (patch)
tree22f7a38422c56e9f9fadadebcc2f3366347f0406 /src/server/completion.odin
parent0024759da37e17611e1b91510bc2b6939c9cb310 (diff)
More accurately auto complete ObjC procedures
Diffstat (limited to 'src/server/completion.odin')
-rw-r--r--src/server/completion.odin12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/server/completion.odin b/src/server/completion.odin
index 7c3b397..d81aac7 100644
--- a/src/server/completion.odin
+++ b/src/server/completion.odin
@@ -519,10 +519,20 @@ get_selector_completion :: proc(
}
}
- if position_context.arrow && symbol.type != .Function {
+ if position_context.arrow {
+ if symbol.type != .Function {
+ continue
+ }
+ if .ObjCIsClassMethod in symbol.flags {
+ assert(.ObjC in symbol.flags)
+ continue
+ }
+ }
+ if !position_context.arrow && .ObjC in symbol.flags {
continue
}
+
item := CompletionItem {
label = name,
kind = .Field,