This PR significantly improves the test coverage of the language server, providing at least a single basic test for every request that is used by the client. It also implements infrastructure for testing all of these requests, e.g. the ability to run interactive tests in a project context and refactors the interactive test runner to be more maintainable. Finally, it also fixes a small bug with the recently implemented unknown identifier code actions for auto-implicits (#10442) that was discovered in testing, where the "import all unambiguous unknown identifiers" code action didn't work correctly on auto-implicit identifiers.
22 lines
333 B
Text
22 lines
333 B
Text
structure S where
|
||
x : Nat
|
||
y : String
|
||
b : Bool
|
||
|
||
def f (s : S) : Nat :=
|
||
let rec foo (s : S) :=
|
||
if s. then 1 else 2
|
||
--^ completion
|
||
foo s
|
||
|
||
def g1 (s : S) : Nat × Nat :=
|
||
(s. )
|
||
--^ completion
|
||
|
||
def g2 (s : S) : Nat × Nat :=
|
||
(s.
|
||
--^ completion
|
||
|
||
def g3 (s : S) : Nat × Nat :=
|
||
(s. , 1, 2)
|
||
--^ completion
|