diff --git a/src/content/docs/internals/language-support.mdx b/src/content/docs/internals/language-support.mdx index 0d8dc5ddd..aed1512d1 100644 --- a/src/content/docs/internals/language-support.mdx +++ b/src/content/docs/internals/language-support.mdx @@ -16,12 +16,12 @@ Legend: | JSX | | | | | | TSX | | | | | | JSON | | | | | -| JSONC | | | | | -| HTML* | | | | | -| SVG | | | | | -| [Vue](#html-super-languages-support) | 🟡 | 🟡 | 🟡 | 🟡 | -| [Svelte](#html-super-languages-support) | 🟡 | 🟡 | 🟡 | 🟡 | -| [Astro](#html-super-languages-support) | 🟡 | 🟡 | 🟡 | 🟡 | +| JSONC | | | | | +| HTML* | | 🟡 | | 🚫 | +| SVG | | 🟡 | | 🚫 | +| [Vue](#html-super-languages-support) | 🟡 | 🟡 | 🟡 | 🚫 | +| [Svelte](#html-super-languages-support) | 🟡 | 🟡 | 🟡 | 🚫 | +| [Astro](#html-super-languages-support) | 🟡 | 🟡 | 🟡 | 🚫 | | CSS | ✅️ | ✅️ | ✅️ | | | SCSS | ⌛️ | ⌛️ | 🚫 | 🚫 | | [YAML](https://github.com/biomejs/biome/issues/2365) | ⌛️ | ⌛️ | 🚫 | 🚫 | @@ -79,9 +79,21 @@ Since version `v2.3.0`, Biome supports Vue, Svelte and Astro file out of the box However, this **support must be considered experimental** and subject to changes and improvements. In `v2.3.0`, we landed the architecture that enables this feature, however some formatting and linting rules must be adjusted. -In particular, as for `v2.3.0`, Biome doesn't do any particular parsing for language specific syntax, for example the control-flow syntax of Svelte e.g. `{#if } {/if}`. This means that formatting might not match the desired expectations, and lint rules might not detect some cases. +Since version `v2.4.0`, Biome has much better support for language-specific syntax, for example, the control-flow syntax of Svelte (e.g. `{#if}{/if}`). This should be sufficient for the majority of Svelte 5 projects, but newer features, rare syntax, or edge cases might not be covered yet. -Lint rules that work across embedded languages aren't supported yet. +Lint rules that work across embedded languages have support (and work a bit better since `v2.5.0`), but may flag some false positives, as the work is still in progress. + +Since full support is still experimental, it must be enabled explicitly. The formatter is still experimental, so it must also be enabled explicitly. +```json title=biome.json +{ + "html": { + "experimentalFullSupportEnabled": true, + "formatter": { + "enabled": true + } + } +} +``` ### Linting HTML-ish languages @@ -109,7 +121,7 @@ If you **lint** `.svelte`, `.astro` or `.vue` files and `html.experimentalFullSu } ``` -### Formatting with different settings +## Formatting with different settings With Biome, you can control the formatting of different languages. Now that Biome can process multiple languages in the same file, the chances of inconsistencies can grow based on your configuration.