( contents: Hover["contents"], result = new Set<string>(), )
| 226 | } |
| 227 | |
| 228 | function collectHoverLanguages( |
| 229 | contents: Hover["contents"], |
| 230 | result = new Set<string>(), |
| 231 | ): Set<string> { |
| 232 | if (Array.isArray(contents)) { |
| 233 | contents.forEach((content) => collectHoverLanguages(content, result)); |
| 234 | } else if (typeof contents === "string") { |
| 235 | collectMarkdownLanguages(contents, result); |
| 236 | } else if ("language" in contents) { |
| 237 | if (contents.language) result.add(contents.language); |
| 238 | } else if (contents.kind === "markdown") { |
| 239 | collectMarkdownLanguages(contents.value, result); |
| 240 | } |
| 241 | return result; |
| 242 | } |
| 243 | |
| 244 | async function loadHoverContentLanguages(contents: Hover["contents"]): Promise<void> { |
| 245 | const languageTags = collectHoverLanguages(contents); |
no test coverage detected