diff --git a/src/content/docs/reference/services.mdx b/src/content/docs/reference/services.mdx index 9316422..5726000 100644 --- a/src/content/docs/reference/services.mdx +++ b/src/content/docs/reference/services.mdx @@ -18,7 +18,7 @@ These methods are called by the Volar language server when it needs to perform a ```ts title="service.ts" export const service = { name: 'my-service', // The name of the service, this is used to identify the service in the logs and in Volar Labs - create(context): ServicePluginInstance { + create(context): LanguageServicePluginInstance { return { provideHover(document, position, token) { // Implement hover support here @@ -26,7 +26,7 @@ export const service = { // More methods... }; }, -} satisfies ServicePlugin; +} satisfies LanguageServicePlugin; ``` ## Using a service @@ -37,7 +37,7 @@ When initializing the language server, the list of services to use is passed as import { createConnection, createServer, - createSimpleProjectProviderFactory, + createSimpleProject, } from "@volar/language-server/node"; import { service } from "./service"; @@ -46,13 +46,12 @@ const server = createServer(connection); connection.listen(); +function getLanguageServicePlugins() { + return [service]; +} + connection.onInitialize((params) => { - return server.initialize(params, createSimpleProjectProviderFactory(), { - // ... - getServicePlugins() { - return [service]; - }, - }); + return server.initialize(params, createSimpleProject(), getLanguageServicePlugins()); }); connection.onInitialized(() => { @@ -79,7 +78,7 @@ import { CompletionItemKind } from '@volar/language-server'; export const service = { name: 'my-service', - create(context): ServicePluginInstance { + create(context): LanguageServicePluginInstance { return { provideCompletionItems(document, position, token) { return { @@ -100,7 +99,7 @@ export const service = { }, }; }, -} satisfies ServicePlugin; +} satisfies LanguageServicePlugin; ``` ### `resolveCompletionItem`