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.
35 lines
736 B
Text
35 lines
736 B
Text
prelude
|
|
|
|
/-! Completing declaration names in arbitrary namespaces -/
|
|
|
|
axiom Lean.Elab.Term.elabTermEnsuringType : Type
|
|
axiom Lean.Elab.Tactic.elabTermEnsuringType : Type
|
|
|
|
-- adding full namespace
|
|
|
|
#check elabTermEnsuring
|
|
--^ completion
|
|
|
|
-- adding partial namespace
|
|
|
|
open Lean.Elab in
|
|
#check elabTermEnsuring
|
|
--^ completion
|
|
|
|
-- direct + indirect match
|
|
|
|
open Lean.Elab.Term in
|
|
#check elabTermEnsuring
|
|
--^ completion
|
|
|
|
-- same, on the top level
|
|
|
|
axiom elabTermEnsuringType : Type
|
|
#check elabTermEnsuring
|
|
--^ completion
|
|
|
|
-- prioritize smaller prefixes
|
|
|
|
axiom Lean.Elab.elabTermEnsuringType : Type
|
|
#check elabTermEnsuring
|
|
--^ completion
|