返回 slidev
index.ts
1 import { createConnection, createServer, createSimpleProject } from '@volar/language-server/node'
2 import { slidevLanguagePlugin } from './languagePlugin'
3 import { create as createPrettierService } from './prettierService'
4 import { create as createYamlService } from './volar-service-yaml'
5
6 const connection = createConnection()
7 const server = createServer(connection)
8
9 connection.onInitialize((params) => {
10 return server.initialize(
11 params,
12 createSimpleProject([slidevLanguagePlugin]),
13 [
14 createYamlService({
15 getLanguageSettings() {
16 return {
17 completion: true,
18 customTags: [],
19 format: false,
20 hover: true,
21 isKubernetes: false,
22 validate: true,
23 yamlVersion: '1.2',
24 parentSkeletonSelectedFirst: false,
25 disableDefaultProperties: true,
26 schemas: [
27 {
28 priority: 3,
29 fileMatch: ['volar-embedded-content://frontmatter_0/**/*.md'],
30 uri: (new URL('../schema/headmatter.json', import.meta.url)).toString(),
31 },
32 {
33 priority: 2,
34 fileMatch: ['volar-embedded-content://**/*.md'],
35 uri: (new URL('../schema/frontmatter.json', import.meta.url)).toString(),
36 },
37 ],
38 }
39 },
40 }),
41 createPrettierService(),
42 ],
43 )
44 })
45
46 connection.onInitialized(server.initialized)
47
48 connection.onShutdown(server.shutdown)
49
50 connection.listen()
51
51 lines TYPESCRIPT