Commit edb66c1
committed
feat: extensible Markdown rendering of Verso docstrings
This PR adds support for extensible Markdown rendering of Verso
docstrings.
Markdown rendering is used when docstrings are prepared for LSP hovers
as well as for legacy clients that don't directly support
Verso. Previously, when the docstring contained a custom element,
Markdown rendering simply delegated to the alternate fallback
rendering. Now, the custom elements can have custom rendering to
Markdown.
Example use cases include:
* Including a docstring in another: with the module system, docstrings
are part of the server olean and are loaded only in interactive
sessions. If one docstring is to include another, it must be fetched
at a time when the docstrings are loaded and available. A custom
element can save which docstring is to be included at elaboration
time, and then look it up at rendering time.
* Showing a list of all currently-available instances of a class.
* Showing names with respect to the currently-open namespaces.
* Custom links to e.g. library notes that look up the destination in
an environment extension.1 parent 7821657 commit edb66c1
26 files changed
Lines changed: 1216 additions & 139 deletions
File tree
- src/Lean
- DocString
- Elab
- DocString
- Builtin
- Server
- Completion
- tests
- elab
- pkg/verso_doc_md
- VersoDocMd
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
33 | | - | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
34 | 37 | | |
35 | 38 | | |
36 | 39 | | |
37 | | - | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
38 | 43 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
12 | 15 | | |
13 | 16 | | |
14 | 17 | | |
| |||
22 | 25 | | |
23 | 26 | | |
24 | 27 | | |
25 | | - | |
26 | | - | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
27 | 32 | | |
28 | 33 | | |
29 | | - | |
30 | 34 | | |
31 | 35 | | |
32 | 36 | | |
33 | 37 | | |
34 | 38 | | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
| 39 | + | |
44 | 40 | | |
45 | 41 | | |
46 | | - | |
47 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
48 | 46 | | |
49 | 47 | | |
50 | | - | |
51 | 48 | | |
52 | 49 | | |
53 | 50 | | |
54 | 51 | | |
55 | 52 | | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
| 53 | + | |
65 | 54 | | |
66 | 55 | | |
67 | 56 | | |
| |||
165 | 154 | | |
166 | 155 | | |
167 | 156 | | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | 157 | | |
189 | 158 | | |
190 | 159 | | |
| |||
276 | 245 | | |
277 | 246 | | |
278 | 247 | | |
279 | | - | |
280 | | - | |
281 | | - | |
282 | | - | |
283 | | - | |
284 | | - | |
285 | | - | |
286 | | - | |
287 | 248 | | |
288 | 249 | | |
289 | 250 | | |
| |||
0 commit comments