Home / Function/ getSvelteLanguagePlugin() — astro Function Reference

getSvelteLanguagePlugin() — astro Function Reference

Architecture documentation for the getSvelteLanguagePlugin() function in svelte.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  f38d2527_20fc_5ef9_d3e6_31798a502ce7["getSvelteLanguagePlugin()"]
  7d8cdb8c_4f2e_234f_0ac9_5e55b15f9dac["svelte.ts"]
  f38d2527_20fc_5ef9_d3e6_31798a502ce7 -->|defined in| 7d8cdb8c_4f2e_234f_0ac9_5e55b15f9dac
  style f38d2527_20fc_5ef9_d3e6_31798a502ce7 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/language-tools/language-server/src/core/svelte.ts lines 12–40

export function getSvelteLanguagePlugin(): LanguagePlugin<URI, SvelteVirtualCode> {
	return {
		getLanguageId(uri) {
			if (uri.path.endsWith('.svelte')) {
				return 'svelte';
			}
		},
		createVirtualCode(uri, languageId, snapshot) {
			if (languageId === 'svelte') {
				const fileName = uri.fsPath.replace(/\\/g, '/');
				return new SvelteVirtualCode(fileName, snapshot);
			}
		},
		typescript: {
			extraFileExtensions: [{ extension: 'svelte', isMixedContent: true, scriptKind: 7 }],
			getServiceScript(svelteCode) {
				for (const code of forEachEmbeddedCode(svelteCode)) {
					if (code.id === 'tsx') {
						return {
							code,
							extension: '.tsx',
							scriptKind: 4 satisfies ts.ScriptKind.TSX,
						};
					}
				}
			},
		},
	};
}

Domain

Subdomains

Frequently Asked Questions

What does getSvelteLanguagePlugin() do?
getSvelteLanguagePlugin() is a function in the astro codebase, defined in packages/language-tools/language-server/src/core/svelte.ts.
Where is getSvelteLanguagePlugin() defined?
getSvelteLanguagePlugin() is defined in packages/language-tools/language-server/src/core/svelte.ts at line 12.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free