This PR re-enables semantic tokens for Verso docstrings, after a prior change accidentally disabled them. It also adds a test to prevent this from happening again. In the process, it became clear that there was a bug. The highlighting strategy led to overlapping but not identical tokens, but the code had previously assumed that this couldn't happen at the delta-encoding step. So this PR additionally replaces the removal of duplicate tokens with priority-based handling of overlapping tokens. --------- Co-authored-by: Marc Huisinga <mhuisi@protonmail.com>
504 lines
2.7 KiB
Text
504 lines
2.7 KiB
Text
{"version": 1, "uri": "file:///semanticTokensVersoDocs.lean", "diagnostics": []}
|
|
{"textDocument": {"uri": "file:///semanticTokensVersoDocs.lean"},
|
|
"position": {"line": 35, "character": 2}}
|
|
{"data":
|
|
[0,
|
|
0,
|
|
10,
|
|
0,
|
|
0,
|
|
0,
|
|
21,
|
|
4,
|
|
0,
|
|
0,
|
|
4,
|
|
4,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
3,
|
|
3,
|
|
0,
|
|
0,
|
|
3,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
4,
|
|
18,
|
|
0,
|
|
0,
|
|
4,
|
|
1,
|
|
0,
|
|
0,
|
|
3,
|
|
4,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
4,
|
|
3,
|
|
0,
|
|
0,
|
|
4,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
4,
|
|
18,
|
|
0,
|
|
0,
|
|
4,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
2,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
4,
|
|
3,
|
|
0,
|
|
0,
|
|
4,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
5,
|
|
18,
|
|
0,
|
|
0,
|
|
5,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
2,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
6,
|
|
3,
|
|
0,
|
|
0,
|
|
6,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
10,
|
|
18,
|
|
0,
|
|
0,
|
|
10,
|
|
1,
|
|
0,
|
|
0,
|
|
1,
|
|
0,
|
|
3,
|
|
0,
|
|
0,
|
|
0,
|
|
10,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
12,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
2,
|
|
4,
|
|
2,
|
|
0,
|
|
1,
|
|
4,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
4,
|
|
3,
|
|
0,
|
|
0,
|
|
4,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
4,
|
|
18,
|
|
0,
|
|
0,
|
|
4,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
2,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
4,
|
|
3,
|
|
0,
|
|
0,
|
|
4,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
5,
|
|
18,
|
|
0,
|
|
0,
|
|
5,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
2,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
6,
|
|
3,
|
|
0,
|
|
0,
|
|
6,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
11,
|
|
18,
|
|
0,
|
|
0,
|
|
11,
|
|
1,
|
|
0,
|
|
0,
|
|
1,
|
|
0,
|
|
3,
|
|
0,
|
|
0,
|
|
0,
|
|
10,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
12,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
5,
|
|
4,
|
|
2,
|
|
0,
|
|
2,
|
|
0,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
5,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
2,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
5,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
2,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
5,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
2,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
3,
|
|
3,
|
|
0,
|
|
0,
|
|
3,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
4,
|
|
18,
|
|
0,
|
|
0,
|
|
4,
|
|
1,
|
|
0,
|
|
0,
|
|
1,
|
|
0,
|
|
3,
|
|
0,
|
|
0,
|
|
0,
|
|
3,
|
|
8,
|
|
3,
|
|
0,
|
|
1,
|
|
0,
|
|
18,
|
|
18,
|
|
0,
|
|
0,
|
|
18,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
1,
|
|
13,
|
|
18,
|
|
0,
|
|
0,
|
|
13,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
18,
|
|
0,
|
|
1,
|
|
0,
|
|
0,
|
|
18,
|
|
0,
|
|
0,
|
|
0,
|
|
3,
|
|
0,
|
|
0,
|
|
1,
|
|
0,
|
|
1,
|
|
0,
|
|
0,
|
|
1,
|
|
0,
|
|
1,
|
|
0,
|
|
0,
|
|
1,
|
|
2,
|
|
2,
|
|
0,
|
|
0,
|
|
1,
|
|
2,
|
|
2,
|
|
0,
|
|
0,
|
|
2,
|
|
2,
|
|
1,
|
|
0,
|
|
0,
|
|
4,
|
|
0,
|
|
1,
|
|
0,
|
|
0,
|
|
2,
|
|
0,
|
|
2,
|
|
0,
|
|
0,
|
|
2,
|
|
0,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
2,
|
|
0,
|
|
0,
|
|
0,
|
|
2,
|
|
4,
|
|
18,
|
|
0,
|
|
0,
|
|
4,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
3,
|
|
2,
|
|
0,
|
|
0,
|
|
3,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
3,
|
|
2,
|
|
0,
|
|
0,
|
|
3,
|
|
1,
|
|
0,
|
|
0,
|
|
2,
|
|
0,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
1,
|
|
3,
|
|
2,
|
|
0,
|
|
0,
|
|
3,
|
|
2,
|
|
0,
|
|
0,
|
|
0,
|
|
3,
|
|
30,
|
|
18,
|
|
0,
|
|
3,
|
|
0,
|
|
3,
|
|
0,
|
|
0]}
|