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.
23 lines
309 B
Text
23 lines
309 B
Text
structure C where
|
|
f1 : Nat
|
|
f2 : Bool
|
|
b1 : String
|
|
|
|
structure D extends C where
|
|
f3 : Bool
|
|
|
|
def f (c : D) : IO Unit :=
|
|
visit c
|
|
where
|
|
visit (c : D) : IO Unit :=
|
|
let x := c.
|
|
--^ completion
|
|
|
|
abbrev E := D
|
|
|
|
def E.doubleF1 (e : E) :=
|
|
e.f1 + e.f1
|
|
|
|
def g (e : E) :=
|
|
e.
|
|
--^ completion
|