( language: string, )
| 180 | } |
| 181 | |
| 182 | export async function loadLspHoverHighlightLanguage( |
| 183 | language: string, |
| 184 | ): Promise<Language | null> { |
| 185 | const description = findLanguageDescription(language); |
| 186 | if (description) { |
| 187 | if (description.support) return description.support.language; |
| 188 | |
| 189 | const key = description.name.toLowerCase(); |
| 190 | let load = hoverLanguageLoads.get(key); |
| 191 | if (!load) { |
| 192 | load = description |
| 193 | .load() |
| 194 | .then((support) => support.language) |
| 195 | .catch(() => null); |
| 196 | hoverLanguageLoads.set(key, load); |
| 197 | } |
| 198 | return load; |
| 199 | } |
| 200 | |
| 201 | const mode = findPluginMode(language); |
| 202 | if (!mode) return null; |
| 203 | return pluginHoverLanguages.get(mode) || startPluginLanguageLoad(mode); |
| 204 | } |
| 205 | |
| 206 | function getFenceLanguage(info: string): string { |
| 207 | const trimmed = info.trim(); |
no test coverage detected