-
-
Notifications
You must be signed in to change notification settings - Fork 188
/
index.ts
34 lines (29 loc) · 1.05 KB
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { createConnection, createServer, createTypeScriptProjectProvider } from '@volar/language-server/node';
import { create as createCssScriptServicePlugin } from 'volar-service-css';
import { create as createHtmlServicePlugin } from 'volar-service-html';
import { create as createTypeScriptServicePlugin } from 'volar-service-typescript';
import { svelteLanguagePlugin } from './languagePlugin';
const connection = createConnection();
const server = createServer(connection);
connection.listen();
connection.onInitialize(params => {
return server.initialize(params, createTypeScriptProjectProvider, {
watchFileExtensions: ['js', 'cjs', 'mjs', 'ts', 'cts', 'mts', 'jsx', 'tsx', 'json', 'svelte'],
getServicePlugins() {
return [
createCssScriptServicePlugin(),
createHtmlServicePlugin(),
createTypeScriptServicePlugin(server.modules.typescript!),
]
},
getLanguagePlugins() {
return [svelteLanguagePlugin];
},
});
});
connection.onInitialized(() => {
server.initialized();
});
connection.onShutdown(() => {
server.shutdown();
});