# Cross-Language Recipes (Astro, Svelte, Marko & more) > [Docs Index](README.md) • [Repo README](../README.md) • [Plugin Authoring](plugin-authoring.md) • [Source Map & Code Gen](source-map-and-code-gen.md) Volar’s architecture is not limited to Vue. This guide outlines how teams have adapted Volar’s language-service stack to other component dialects such as Astro, Svelte, and Marko, plus concrete examples of the required plugins and configuration. ## Astro Astro combines multiple frameworks in `.astro` files. The Astro team built [`astro-language-tools`](https://github.com/withastro/language-tools), which reuses Volar concepts. ### Key Ideas - Implement a language plugin that parses `.astro` files and produces virtual TypeScript modules for frontmatter, component scripts, and template expressions. - Expose Astro-specific transforms through `@volar/language-core`. - Register custom Volar services for diagnostics (e.g., checking `Astro.props` usage). ### Resources - [astro-language-tools](https://github.com/withastro/language-tools) repo (look at `pkg/language-server` for Volar integration). - `astro` VS Code extension uses the Volar-style LSP plus additional analyzers. ## Svelte Svelte has its own LSP, but you can reuse Volar patterns to extend it or embed Svelte files in hybrid projects. ### Hybrid Example (Vue + Svelte) - Use `nvim-lspconfig` or VS Code multi-root settings to run both the Svelte LSP and Volar simultaneously. - For shared tooling (e.g., CLI diagnostics), build a language plugin that treats `.svelte` similarly to `.vue`, generating TS code via Svelte’s compiler. - Reference: [sveltejs/language-tools](https://github.com/sveltejs/language-tools). Their `svelte2tsx` pipeline mirrors Volar’s `code-gen` approach. ## Marko [Marko](https://markojs.com/) (eBay) uses `.marko` files that compile to HTML + JS. - Implement a language plugin that compiles Marko templates to TypeScript using Marko’s compiler. - Use `@volar/typescript` to expose the generated TS to Volar’s language service. - Provide custom diagnostics for Marko-specific syntax; reuse `volar-service-html` for HTML-level completions. ## Tailwind / CSS frameworks - Install `volar-service-css` and community Tailwind plugins (`@volar-plugins/tailwind`). Configure globs for `tailwind.config.js`. - For multi-language files (e.g., `.astro` + Tailwind), ensure your custom language plugin marks embedded `