Home / File/ languageServerPlugin.ts — astro Source File

languageServerPlugin.ts — astro Source File

Architecture documentation for languageServerPlugin.ts, a typescript file in the astro codebase. 17 imports, 0 dependents.

File typescript CoreAstro RoutingSystem 17 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  aa1e3f97_b438_e271_0048_5d1552a8f675["languageServerPlugin.ts"]
  3d0a8903_cb4c_d139_320b_9571e3568661["index.ts"]
  aa1e3f97_b438_e271_0048_5d1552a8f675 --> 3d0a8903_cb4c_d139_320b_9571e3568661
  913138c4_e025_35d6_132e_69f7c2d85305["getAstroLanguagePlugin"]
  aa1e3f97_b438_e271_0048_5d1552a8f675 --> 913138c4_e025_35d6_132e_69f7c2d85305
  0e94d234_63d6_9e3a_18cc_17c52f493c38["../core/frontmatterHolders.js"]
  aa1e3f97_b438_e271_0048_5d1552a8f675 --> 0e94d234_63d6_9e3a_18cc_17c52f493c38
  22ba4b0b_4bbc_2d12_698a_6fa06c26f2f4["./core/svelte.js"]
  aa1e3f97_b438_e271_0048_5d1552a8f675 --> 22ba4b0b_4bbc_2d12_698a_6fa06c26f2f4
  65f2080d_0c1a_6e67_4a38_2f8aa458fd74["./core/vue.js"]
  aa1e3f97_b438_e271_0048_5d1552a8f675 --> 65f2080d_0c1a_6e67_4a38_2f8aa458fd74
  8d3d0086_915f_5a8c_ee4d_83532eb23d3f["./importPackage.js"]
  aa1e3f97_b438_e271_0048_5d1552a8f675 --> 8d3d0086_915f_5a8c_ee4d_83532eb23d3f
  94d3f901_415d_ea74_abf3_1cb83a4afb5b["./plugins/astro.js"]
  aa1e3f97_b438_e271_0048_5d1552a8f675 --> 94d3f901_415d_ea74_abf3_1cb83a4afb5b
  9f52eefb_bd9e_e922_6df0_aa9b667bcd9d["./plugins/html.js"]
  aa1e3f97_b438_e271_0048_5d1552a8f675 --> 9f52eefb_bd9e_e922_6df0_aa9b667bcd9d
  3cc02992_202a_e698_7c76_4d5f1911d414["./plugins/typescript/index.js"]
  aa1e3f97_b438_e271_0048_5d1552a8f675 --> 3cc02992_202a_e698_7c76_4d5f1911d414
  3851f7b2_97c9_c00a_d407_c6b14961b24d["./plugins/typescript-addons/index.js"]
  aa1e3f97_b438_e271_0048_5d1552a8f675 --> 3851f7b2_97c9_c00a_d407_c6b14961b24d
  714a5d1a_597b_3d1b_8291_6970108bb739["./plugins/yaml.js"]
  aa1e3f97_b438_e271_0048_5d1552a8f675 --> 714a5d1a_597b_3d1b_8291_6970108bb739
  3d47248d_11e4_5795_cc2a_a866f94df7d9["node"]
  aa1e3f97_b438_e271_0048_5d1552a8f675 --> 3d47248d_11e4_5795_cc2a_a866f94df7d9
  dff5d682_cd67_edc4_78ea_01502b762cba["volar-service-css"]
  aa1e3f97_b438_e271_0048_5d1552a8f675 --> dff5d682_cd67_edc4_78ea_01502b762cba
  03fd9964_0d97_4846_f9a6_96291126982a["volar-service-emmet"]
  aa1e3f97_b438_e271_0048_5d1552a8f675 --> 03fd9964_0d97_4846_f9a6_96291126982a
  style aa1e3f97_b438_e271_0048_5d1552a8f675 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import {
	type Connection,
	type InitializeParams,
	type LanguagePlugin,
	MessageType,
	ShowMessageNotification,
} from '@volar/language-server/node';
// Services
import { create as createCssService } from 'volar-service-css';
import { create as createEmmetService } from 'volar-service-emmet';
import { create as createPrettierService } from 'volar-service-prettier';
import { create as createTypeScriptTwoSlashService } from 'volar-service-typescript-twoslash-queries';
import { URI } from 'vscode-uri';
import { getAstroLanguagePlugin } from './core';
import { type CollectionConfig, getFrontmatterLanguagePlugin } from './core/frontmatterHolders.js';
import { getSvelteLanguagePlugin } from './core/svelte.js';
import { getVueLanguagePlugin } from './core/vue.js';
import { getPrettierPluginPath, importPrettier } from './importPackage.js';
import { create as createAstroService } from './plugins/astro.js';
import { create as createHtmlService } from './plugins/html.js';
import { create as createTypeScriptServices } from './plugins/typescript/index.js';
import { create as createTypescriptAddonsService } from './plugins/typescript-addons/index.js';
import { create as createYAMLService } from './plugins/yaml.js';

export function getLanguagePlugins(collectionConfig: CollectionConfig) {
	const languagePlugins: LanguagePlugin<URI>[] = [
		getAstroLanguagePlugin(),
		getVueLanguagePlugin(),
		getSvelteLanguagePlugin(),
		getFrontmatterLanguagePlugin(collectionConfig),
	];

	return languagePlugins;
}

export function getLanguageServicePlugins(
	connection: Connection,
	ts: typeof import('typescript'),
	collectionConfig: CollectionConfig,
	initializeParams?: InitializeParams,
) {
	const LanguageServicePlugins = [
		createHtmlService(),
		createCssService(),
		createEmmetService(),
		...createTypeScriptServices(ts, {
			disableAutoImportCache: initializeParams?.initializationOptions?.disableAutoImportCache,
		}),
		createTypeScriptTwoSlashService(ts),
		createTypescriptAddonsService(),
		createAstroService(),
		getPrettierService(),
		createYAMLService(collectionConfig),
	];

	return LanguageServicePlugins;

	function getPrettierService() {
		let prettier: ReturnType<typeof importPrettier>;
		let prettierPluginPath: ReturnType<typeof getPrettierPluginPath>;
// ... (86 more lines)

Domain

Subdomains

Dependencies

  • ../core/frontmatterHolders.js
  • ./core/svelte.js
  • ./core/vue.js
  • ./importPackage.js
  • ./plugins/astro.js
  • ./plugins/html.js
  • ./plugins/typescript-addons/index.js
  • ./plugins/typescript/index.js
  • ./plugins/yaml.js
  • getAstroLanguagePlugin
  • index.ts
  • node
  • volar-service-css
  • volar-service-emmet
  • volar-service-prettier
  • volar-service-typescript-twoslash-queries
  • vscode-uri

Frequently Asked Questions

What does languageServerPlugin.ts do?
languageServerPlugin.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain, RoutingSystem subdomain.
What functions are defined in languageServerPlugin.ts?
languageServerPlugin.ts defines 2 function(s): getLanguagePlugins, getLanguageServicePlugins.
What does languageServerPlugin.ts depend on?
languageServerPlugin.ts imports 17 module(s): ../core/frontmatterHolders.js, ./core/svelte.js, ./core/vue.js, ./importPackage.js, ./plugins/astro.js, ./plugins/html.js, ./plugins/typescript-addons/index.js, ./plugins/typescript/index.js, and 9 more.
Where is languageServerPlugin.ts in the architecture?
languageServerPlugin.ts is located at packages/language-tools/language-server/src/languageServerPlugin.ts (domain: CoreAstro, subdomain: RoutingSystem, directory: packages/language-tools/language-server/src).

Analyze Your Own Codebase

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

Try Supermodel Free