From b4fc380af5e390ca11892f9e657e653f6869c21b Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 3 Jul 2025 15:20:23 -0700 Subject: Language Server Enhancements (#7604) * Language Server: auto-select the best candidate in signature help. * Fix constructor call highlighting + goto definition. * Add test. * format code * Improve ctor signature help. * Add tests. * Fix decl path printing for extension children. * Allow goto definition to show core module source. * c++ compile fix. --------- Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> --- tests/language-server/ctor-hover.slang | 15 +++++++++++++++ tests/language-server/ctor-signature.slang | 9 +++++++++ tests/language-server/smoke.slang.expected.txt | 6 ++---- 3 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 tests/language-server/ctor-hover.slang create mode 100644 tests/language-server/ctor-signature.slang (limited to 'tests') diff --git a/tests/language-server/ctor-hover.slang b/tests/language-server/ctor-hover.slang new file mode 100644 index 000000000..186d373cf --- /dev/null +++ b/tests/language-server/ctor-hover.slang @@ -0,0 +1,15 @@ +//TEST:LANG_SERVER(filecheck=CHECK): +struct MyType +{ + __init(int x) {} +} + +void test() +{ +//HOVER:10,18 + let obj = MyType(5); + // ^^^^^ + // Hover here should show info for the ctor, not the type. +} + +//CHECK: MyType.init diff --git a/tests/language-server/ctor-signature.slang b/tests/language-server/ctor-signature.slang new file mode 100644 index 000000000..6fc7b3844 --- /dev/null +++ b/tests/language-server/ctor-signature.slang @@ -0,0 +1,9 @@ +//TEST:LANG_SERVER(filecheck=CHECK): + +void test() +{ +//SIGNATURE:6,25 + let v = float3(1.0, ) +} + +// CHECK: (selected) float3.init(float x, float diff --git a/tests/language-server/smoke.slang.expected.txt b/tests/language-server/smoke.slang.expected.txt index 7e0e8def7..451fa0655 100644 --- a/tests/language-server/smoke.slang.expected.txt +++ b/tests/language-server/smoke.slang.expected.txt @@ -16,10 +16,8 @@ content: -------- activeParameter: 0 activeSignature: 0 -func T.getSum() -> int: +(selected) func T.getSum() -> int: Returns the sum of the contents. -{REDACTED}.slang(10) - - +{REDACTED}.slang(10) \ No newline at end of file -- cgit v1.2.3