aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/completion.odin2
-rw-r--r--tests/completions_test.odin17
2 files changed, 18 insertions, 1 deletions
diff --git a/src/server/completion.odin b/src/server/completion.odin
index 8560ed3..8a0f371 100644
--- a/src/server/completion.odin
+++ b/src/server/completion.odin
@@ -1345,7 +1345,7 @@ get_implicit_completion :: proc(
if position_context.binary != nil {
#partial switch position_context.binary.op.kind {
- case .Cmp_Eq, .Not_Eq, .In, .Not_In:
+ case .Cmp_Eq, .Not_Eq, .In, .Not_In, .Lt, .Lt_Eq, .Gt, .Gt_Eq:
context_node: ^ast.Expr
enum_node: ^ast.Expr
diff --git a/tests/completions_test.odin b/tests/completions_test.odin
index 92fd332..72dcb86 100644
--- a/tests/completions_test.odin
+++ b/tests/completions_test.odin
@@ -5113,3 +5113,20 @@ ast_completion_implicit_selector_enumerated_array_in_proc_call_arg :: proc(t: ^t
}
test.expect_completion_docs(t, &source, "", {"A1", "A2"})
}
+
+@(test)
+ast_completion_implicit_selector_binary_expr :: proc(t: ^testing.T) {
+ source := test.Source {
+ main = `package test
+ Foo :: enum {
+ A,
+ B,
+ }
+ main :: proc() {
+ foo: Foo
+ if foo < .{*}
+ }
+ `,
+ }
+ test.expect_completion_docs(t, &source, "", {"A", "B"})
+}