Home / Function/ mergeCSSContextsByLanguage() — astro Function Reference

mergeCSSContextsByLanguage() — astro Function Reference

Architecture documentation for the mergeCSSContextsByLanguage() function in parseCSS.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  880400e4_c475_86ca_fb23_99d27fdd5bc8["mergeCSSContextsByLanguage()"]
  f6152f93_2879_07e4_0f31_4adb7af86607["parseCSS.ts"]
  880400e4_c475_86ca_fb23_99d27fdd5bc8 -->|defined in| f6152f93_2879_07e4_0f31_4adb7af86607
  3f4ba835_72b1_e591_9167_953ff42dd147["extractStylesheets()"]
  3f4ba835_72b1_e591_9167_953ff42dd147 -->|calls| 880400e4_c475_86ca_fb23_99d27fdd5bc8
  f844dcf0_0d86_a4df_164d_4d84c313a1e6["isSupportedLanguage()"]
  880400e4_c475_86ca_fb23_99d27fdd5bc8 -->|calls| f844dcf0_0d86_a4df_164d_4d84c313a1e6
  fe01aaa3_3bb5_4a4a_1706_d1856503b751["createVirtualCodeForLanguage()"]
  880400e4_c475_86ca_fb23_99d27fdd5bc8 -->|calls| fe01aaa3_3bb5_4a4a_1706_d1856503b751
  style 880400e4_c475_86ca_fb23_99d27fdd5bc8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/language-tools/language-server/src/core/parseCSS.ts lines 18–54

function mergeCSSContextsByLanguage(inlineStyles: TSXExtractedStyle[]): VirtualCode[] {
	const codes: Record<SupportedLanguages, Segment<CodeInformation>[]> = {
		css: [],
		scss: [],
		less: [],
	};

	for (const cssContext of inlineStyles) {
		const currentCode = isSupportedLanguage(cssContext.lang) ? codes[cssContext.lang] : codes.css;

		const isStyleAttribute = cssContext.type === 'style-attribute';
		if (isStyleAttribute) currentCode.push('__ { ');
		currentCode.push([
			cssContext.content,
			undefined,
			cssContext.position.start,
			{
				verification: false,
				completion: true,
				semantic: true,
				navigation: true,
				structure: true,
				format: false,
			},
		]);
		if (isStyleAttribute) currentCode.push(' }\n');
	}

	let virtualCodes: VirtualCode[] = [];
	for (const lang of SUPPORTED_LANGUAGES) {
		if (codes[lang].length) {
			virtualCodes.push(createVirtualCodeForLanguage(codes[lang], lang));
		}
	}

	return virtualCodes;
}

Domain

Subdomains

Frequently Asked Questions

What does mergeCSSContextsByLanguage() do?
mergeCSSContextsByLanguage() is a function in the astro codebase, defined in packages/language-tools/language-server/src/core/parseCSS.ts.
Where is mergeCSSContextsByLanguage() defined?
mergeCSSContextsByLanguage() is defined in packages/language-tools/language-server/src/core/parseCSS.ts at line 18.
What does mergeCSSContextsByLanguage() call?
mergeCSSContextsByLanguage() calls 2 function(s): createVirtualCodeForLanguage, isSupportedLanguage.
What calls mergeCSSContextsByLanguage()?
mergeCSSContextsByLanguage() is called by 1 function(s): extractStylesheets.

Analyze Your Own Codebase

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

Try Supermodel Free