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.
111 lines
3.7 KiB
Text
111 lines
3.7 KiB
Text
{"version": 1,
|
|
"uri": "file:///interactiveTraces.lean",
|
|
"diagnostics":
|
|
[{"source": "Lean 4",
|
|
"severity": 3,
|
|
"range":
|
|
{"start": {"line": 19, "character": 0}, "end": {"line": 19, "character": 5}},
|
|
"message": "(trace)",
|
|
"fullRange":
|
|
{"start": {"line": 19, "character": 0},
|
|
"end": {"line": 19, "character": 5}}}]}
|
|
{"lineRange": {"start": 0, "end": 21}}
|
|
[{"source": "Lean 4",
|
|
"severity": 3,
|
|
"range":
|
|
{"start": {"line": 19, "character": 0}, "end": {"line": 19, "character": 5}},
|
|
"message":
|
|
{"tag":
|
|
[{"trace":
|
|
{"msg": {"tag": [{"expr": {"text": "root"}}, {"text": ""}]},
|
|
"indent": 0,
|
|
"collapsed": false,
|
|
"cls": "Meta.debug",
|
|
"children":
|
|
{"strict":
|
|
[{"tag":
|
|
[{"trace":
|
|
{"msg": {"tag": [{"expr": {"text": "child1"}}, {"text": ""}]},
|
|
"indent": 2,
|
|
"collapsed": false,
|
|
"cls": "Meta.debug",
|
|
"children":
|
|
{"strict":
|
|
[{"tag":
|
|
[{"trace":
|
|
{"msg": {"tag": [{"expr": {"text": "child11"}}, {"text": ""}]},
|
|
"indent": 4,
|
|
"collapsed": false,
|
|
"cls": "Meta.debug",
|
|
"children": {"strict": []}}},
|
|
{"text": ""}]},
|
|
{"tag":
|
|
[{"trace":
|
|
{"msg": {"tag": [{"expr": {"text": "child12"}}, {"text": ""}]},
|
|
"indent": 4,
|
|
"collapsed": false,
|
|
"cls": "Meta.debug",
|
|
"children": {"strict": []}}},
|
|
{"text": ""}]},
|
|
{"tag":
|
|
[{"trace":
|
|
{"msg": {"tag": [{"expr": {"text": "child13"}}, {"text": ""}]},
|
|
"indent": 4,
|
|
"collapsed": false,
|
|
"cls": "Meta.debug",
|
|
"children": {"strict": []}}},
|
|
{"text": ""}]}]}}},
|
|
{"text": ""}]},
|
|
{"tag":
|
|
[{"trace":
|
|
{"msg": {"tag": [{"expr": {"text": "child2"}}, {"text": ""}]},
|
|
"indent": 2,
|
|
"collapsed": false,
|
|
"cls": "Meta.debug",
|
|
"children":
|
|
{"strict":
|
|
[{"tag":
|
|
[{"trace":
|
|
{"msg": {"tag": [{"expr": {"text": "child21"}}, {"text": ""}]},
|
|
"indent": 4,
|
|
"collapsed": false,
|
|
"cls": "Meta.debug",
|
|
"children": {"strict": []}}},
|
|
{"text": ""}]},
|
|
{"tag":
|
|
[{"trace":
|
|
{"msg": {"tag": [{"expr": {"text": "child22"}}, {"text": ""}]},
|
|
"indent": 4,
|
|
"collapsed": false,
|
|
"cls": "Meta.debug",
|
|
"children": {"strict": []}}},
|
|
{"text": ""}]}]}}},
|
|
{"text": ""}]},
|
|
{"tag":
|
|
[{"trace":
|
|
{"msg": {"tag": [{"expr": {"text": "child3"}}, {"text": ""}]},
|
|
"indent": 2,
|
|
"collapsed": false,
|
|
"cls": "Meta.debug",
|
|
"children":
|
|
{"strict":
|
|
[{"tag":
|
|
[{"trace":
|
|
{"msg": {"tag": [{"expr": {"text": "child31"}}, {"text": ""}]},
|
|
"indent": 4,
|
|
"collapsed": false,
|
|
"cls": "Meta.debug",
|
|
"children": {"strict": []}}},
|
|
{"text": ""}]}]}}},
|
|
{"text": ""}]},
|
|
{"tag":
|
|
[{"trace":
|
|
{"msg": {"tag": [{"expr": {"text": "child4"}}, {"text": ""}]},
|
|
"indent": 2,
|
|
"collapsed": false,
|
|
"cls": "Meta.debug",
|
|
"children": {"strict": []}}},
|
|
{"text": ""}]}]}}},
|
|
{"text": ""}]},
|
|
"fullRange":
|
|
{"start": {"line": 19, "character": 0}, "end": {"line": 19, "character": 5}}}]
|