- Override `.html` language mapping to use the generic HTML icon - Add test coverage asserting `index.html` resolves to `file_type_html.svg`
Unified · Split
| @@ -30,12 +30,14 @@ describe("getVscodeIconUrlForEntry", () => { · 29 unmodified lines | ||
| 30 | 30 | const tsxUrl = getVscodeIconUrlForEntry("checkbox.tsx", "file", "light"); |
| 31 | 31 | const dockerfileUrl = getVscodeIconUrlForEntry("Dockerfile", "file", "dark"); |
| 32 | 32 | const shellUrl = getVscodeIconUrlForEntry("entrypoint.sh", "file", "dark"); |
| 33 | + const htmlUrl = getVscodeIconUrlForEntry("index.html", "file", "dark"); | |
| 33 | 34 | const cursorRulesUrl = getVscodeIconUrlForEntry("general.mdc", "file", "dark"); |
| 34 | 35 | const githubWorkflowUrl = getVscodeIconUrlForEntry(".github/workflows/ci.yml", "file", "light"); |
| 35 | 36 | |
| 36 | 37 | assert.isTrue(tsxUrl.endsWith("/file_type_reactts.svg")); |
| 37 | 38 | assert.isTrue(dockerfileUrl.endsWith("/file_type_docker.svg")); |
| 38 | 39 | assert.isTrue(shellUrl.endsWith("/file_type_shell.svg")); |
| 40 | + assert.isTrue(htmlUrl.endsWith("/file_type_html.svg")); | |
| 39 | 41 | assert.isTrue(cursorRulesUrl.endsWith("/file_type_markdown.svg")); |
| 40 | 42 | assert.isTrue(githubWorkflowUrl.endsWith("/file_type_light_yaml.svg")); |
| 41 | 43 | }); |
| @@ -45,6 +45,9 @@ const languageIdByFileName = toLowercaseLookup(languageAssociations.fileNameToLa · 44 unmodified lines | ||
| 45 | 45 | const localLanguageIdByExtensionOverrides = { |
| 46 | 46 | // Cursor rules files (*.mdc) are commonly treated as markdown in VSCode/Cursor. |
| 47 | 47 | mdc: "markdown", |
| 48 | + // Upstream languages.ts currently maps .html to django-html before html. | |
| 49 | + // Prefer the base HTML icon for standalone HTML files. | |
| 50 | + html: "html", | |
| 48 | 51 | // Upstream languages.ts maps yml/yaml to specialized language ids that can produce |
| 49 | 52 | // non-generic YAML icons (for example cloudfoundry/esphome). Prefer the base YAML icon |
| 50 | 53 | // unless a more specific basename/extension match (e.g. azure-pipelines.yml) is found. |