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.
83 lines
2.7 KiB
Text
83 lines
2.7 KiB
Text
{"textDocument": {"uri": "file:///documentSymbols.lean"},
|
|
"position": {"line": 23, "character": 2}}
|
|
[{"selectionRange":
|
|
{"start": {"line": 0, "character": 4}, "end": {"line": 0, "character": 5}},
|
|
"range":
|
|
{"start": {"line": 0, "character": 0}, "end": {"line": 0, "character": 10}},
|
|
"name": "a",
|
|
"kind": 6},
|
|
{"selectionRange":
|
|
{"start": {"line": 2, "character": 10}, "end": {"line": 2, "character": 13}},
|
|
"range":
|
|
{"start": {"line": 2, "character": 0}, "end": {"line": 14, "character": 7}},
|
|
"name": "Foo",
|
|
"kind": 3,
|
|
"children":
|
|
[{"selectionRange":
|
|
{"start": {"line": 4, "character": 4}, "end": {"line": 4, "character": 5}},
|
|
"range":
|
|
{"start": {"line": 4, "character": 0}, "end": {"line": 4, "character": 10}},
|
|
"name": "b",
|
|
"kind": 6},
|
|
{"selectionRange":
|
|
{"start": {"line": 6, "character": 8}, "end": {"line": 6, "character": 14}},
|
|
"range":
|
|
{"start": {"line": 6, "character": 0},
|
|
"end": {"line": 10, "character": 10}},
|
|
"name": "Foobar",
|
|
"kind": 3,
|
|
"children":
|
|
[{"selectionRange":
|
|
{"start": {"line": 8, "character": 4},
|
|
"end": {"line": 8, "character": 5}},
|
|
"range":
|
|
{"start": {"line": 8, "character": 0},
|
|
"end": {"line": 8, "character": 10}},
|
|
"name": "c",
|
|
"kind": 6}]},
|
|
{"selectionRange":
|
|
{"start": {"line": 12, "character": 4},
|
|
"end": {"line": 12, "character": 5}},
|
|
"range":
|
|
{"start": {"line": 12, "character": 0},
|
|
"end": {"line": 12, "character": 10}},
|
|
"name": "d",
|
|
"kind": 6}]},
|
|
{"selectionRange":
|
|
{"start": {"line": 16, "character": 4}, "end": {"line": 16, "character": 5}},
|
|
"range":
|
|
{"start": {"line": 16, "character": 0}, "end": {"line": 16, "character": 10}},
|
|
"name": "e",
|
|
"kind": 6},
|
|
{"selectionRange":
|
|
{"start": {"line": 18, "character": 10},
|
|
"end": {"line": 18, "character": 13}},
|
|
"range":
|
|
{"start": {"line": 18, "character": 0}, "end": {"line": 25, "character": 0}},
|
|
"name": "Bar",
|
|
"kind": 3,
|
|
"children":
|
|
[{"selectionRange":
|
|
{"start": {"line": 20, "character": 4},
|
|
"end": {"line": 20, "character": 5}},
|
|
"range":
|
|
{"start": {"line": 20, "character": 0},
|
|
"end": {"line": 20, "character": 10}},
|
|
"name": "f",
|
|
"kind": 6},
|
|
{"selectionRange":
|
|
{"start": {"line": 21, "character": 8},
|
|
"end": {"line": 21, "character": 9}},
|
|
"range":
|
|
{"start": {"line": 21, "character": 0},
|
|
"end": {"line": 21, "character": 30}},
|
|
"name": "g",
|
|
"kind": 6},
|
|
{"selectionRange":
|
|
{"start": {"line": 22, "character": 9},
|
|
"end": {"line": 22, "character": 22}},
|
|
"range":
|
|
{"start": {"line": 22, "character": 0},
|
|
"end": {"line": 22, "character": 31}},
|
|
"name": "instance : Coe Nat Nat ",
|
|
"kind": 6}]}]
|