diff options
| author | Yong He <yonghe@outlook.com> | 2025-07-07 14:54:54 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-07 21:54:54 +0000 |
| commit | 3865a6596afca1c193eb17bbb74008077096e7c3 (patch) | |
| tree | 0d04cab0ad720b75027ddcee855daf6f6eba5d57 /tests | |
| parent | 7119d9cb487d866d1c25e55eafa03aca6e5e52e3 (diff) | |
Language server: sort completion candidate by relevance. (#7626)
* Language server: sort completion candidate by relevance.
* Small adjustment.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/language-server/completion-sorting-1.slang | 18 | ||||
| -rw-r--r-- | tests/language-server/completion-sorting-2.slang | 19 | ||||
| -rw-r--r-- | tests/language-server/completion-sorting-3.slang | 16 | ||||
| -rw-r--r-- | tests/language-server/completion-sorting-4.slang | 16 | ||||
| -rw-r--r-- | tests/language-server/completion-sorting-5.slang | 16 |
5 files changed, 85 insertions, 0 deletions
diff --git a/tests/language-server/completion-sorting-1.slang b/tests/language-server/completion-sorting-1.slang new file mode 100644 index 000000000..974413451 --- /dev/null +++ b/tests/language-server/completion-sorting-1.slang @@ -0,0 +1,18 @@ +//TEST:LANG_SERVER(filecheck=CHECK): + +// Test that completion candidates are sorted according to context. + +enum Fruit { Orange, Apple, Banana } +enum Color { Red, Green, Blue } +void expect(Fruit e) {} +void expect(Color e) {} + + +void test() +{ +//COMPLETE:14,15 + Fruit t = // should list `Fruit` first. + +} + +// CHECK: Fruit:{{.*}}sort(0:Fruit)
\ No newline at end of file diff --git a/tests/language-server/completion-sorting-2.slang b/tests/language-server/completion-sorting-2.slang new file mode 100644 index 000000000..7cf62af71 --- /dev/null +++ b/tests/language-server/completion-sorting-2.slang @@ -0,0 +1,19 @@ +//TEST:LANG_SERVER(filecheck=CHECK): + +// Test that completion candidates are sorted according to context. + +enum Fruit { Orange, Apple, Banana } +enum Color { Red, Green, Blue } +void expect(Fruit e) {} +void expect(Color e) {} + + +void test() +{ +//COMPLETE:14,12 + expect(); // should list `Fruit` and `Color` first. + +} + +// CHECK: Fruit:{{.*}}sort(0:Fruit) +// CHECK: Color:{{.*}}sort(0:Color)
\ No newline at end of file diff --git a/tests/language-server/completion-sorting-3.slang b/tests/language-server/completion-sorting-3.slang new file mode 100644 index 000000000..da633cf21 --- /dev/null +++ b/tests/language-server/completion-sorting-3.slang @@ -0,0 +1,16 @@ +//TEST:LANG_SERVER(filecheck=CHECK): + +// Test that completion candidates are sorted according to context. + +enum Fruit { Orange, Apple, Banana } +struct MyType<Fruit v> {} + + +void test() +{ +//COMPLETE:12,12 + MyType< // should list `Fruit` first. + +} + +// CHECK: Fruit:{{.*}}sort(0:Fruit)
\ No newline at end of file diff --git a/tests/language-server/completion-sorting-4.slang b/tests/language-server/completion-sorting-4.slang new file mode 100644 index 000000000..9e9f2b15c --- /dev/null +++ b/tests/language-server/completion-sorting-4.slang @@ -0,0 +1,16 @@ +//TEST:LANG_SERVER(filecheck=CHECK): + +// Test that completion candidates are sorted according to context. + +int myHelper() { return 0; } + + +void test(int p) +{ +//COMPLETE:11,13 + int x = + +} + +// CHECK: p:{{.*}}sort(1:p) +// CHECK: myHelper:{{.*}}sort(1:myHelper)
\ No newline at end of file diff --git a/tests/language-server/completion-sorting-5.slang b/tests/language-server/completion-sorting-5.slang new file mode 100644 index 000000000..cdbc40130 --- /dev/null +++ b/tests/language-server/completion-sorting-5.slang @@ -0,0 +1,16 @@ +//TEST:LANG_SERVER(filecheck=CHECK): + +// Test that completion candidates are sorted according to context. + +int myHelper() { return 0; } + + +void test(int p) +{ +//COMPLETE:11,17 + int x = p + + +} + +// CHECK: p:{{.*}}sort(1:p) +// CHECK: myHelper:{{.*}}sort(1:myHelper)
\ No newline at end of file |
