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.
40 lines
1.3 KiB
Text
40 lines
1.3 KiB
Text
{"textDocument": {"uri": "file:///completion7.lean"},
|
|
"position": {"line": 6, "character": 10}}
|
|
{"items":
|
|
[{"label": "And",
|
|
"kind": 22,
|
|
"data": ["«external:file:///completion7.lean»", 6, 10, 0, "cAnd"]}],
|
|
"isIncomplete": false}
|
|
Resolution of And:
|
|
{"label": "And",
|
|
"kind": 22,
|
|
"detail": "Type 1",
|
|
"data": ["«external:file:///completion7.lean»", 6, 10, 0, "cAnd"]}
|
|
{"textDocument": {"uri": "file:///completion7.lean"},
|
|
"position": {"line": 8, "character": 11}}
|
|
{"items":
|
|
[{"label": "left",
|
|
"kind": 5,
|
|
"data": ["«external:file:///completion7.lean»", 8, 11, 0, "cAnd.left"]},
|
|
{"label": "right",
|
|
"kind": 5,
|
|
"data": ["«external:file:///completion7.lean»", 8, 11, 0, "cAnd.right"]},
|
|
{"label": "mk",
|
|
"kind": 4,
|
|
"data": ["«external:file:///completion7.lean»", 8, 11, 0, "cAnd.mk"]}],
|
|
"isIncomplete": false}
|
|
Resolution of left:
|
|
{"label": "left",
|
|
"kind": 5,
|
|
"detail": "And → Type",
|
|
"data": ["«external:file:///completion7.lean»", 8, 11, 0, "cAnd.left"]}
|
|
Resolution of right:
|
|
{"label": "right",
|
|
"kind": 5,
|
|
"detail": "And → Type",
|
|
"data": ["«external:file:///completion7.lean»", 8, 11, 0, "cAnd.right"]}
|
|
Resolution of mk:
|
|
{"label": "mk",
|
|
"kind": 4,
|
|
"detail": "Type → Type → And",
|
|
"data": ["«external:file:///completion7.lean»", 8, 11, 0, "cAnd.mk"]}
|