diff --git a/extensions/vscode/src/features/doctor.ts b/extensions/vscode/src/features/doctor.ts index 4f8e4fbc19..8857211503 100644 --- a/extensions/vscode/src/features/doctor.ts +++ b/extensions/vscode/src/features/doctor.ts @@ -1,5 +1,6 @@ -import { BaseLanguageClient, getTsdk, ExecuteCommandRequest, ExecuteCommandParams } from '@volar/vscode'; -import { commands, SFCParseResult } from '@vue/language-server'; +import { BaseLanguageClient, ExecuteCommandParams, ExecuteCommandRequest, getTsdk } from '@volar/vscode'; +import type { SFCParseResult } from '@vue/language-server'; +import { commands } from '@vue/language-server/lib/types'; import * as semver from 'semver'; import * as vscode from 'vscode'; import { config } from '../config'; diff --git a/extensions/vscode/src/features/nameCasing.ts b/extensions/vscode/src/features/nameCasing.ts index 40106388c3..599045f12c 100644 --- a/extensions/vscode/src/features/nameCasing.ts +++ b/extensions/vscode/src/features/nameCasing.ts @@ -1,7 +1,7 @@ -import * as vscode from 'vscode'; -import { quickPick } from '@volar/vscode/lib/common'; import { BaseLanguageClient, ExecuteCommandParams, ExecuteCommandRequest, State, TextEdit } from '@volar/vscode'; -import { AttrNameCasing, TagNameCasing, commands } from '@vue/language-server'; +import { quickPick } from '@volar/vscode/lib/common'; +import { AttrNameCasing, TagNameCasing, commands } from '@vue/language-server/lib/types'; +import * as vscode from 'vscode'; import { config } from '../config'; export const attrNameCasings = new Map(); diff --git a/extensions/vscode/src/features/splitEditors.ts b/extensions/vscode/src/features/splitEditors.ts index 0e470d09e1..0b2cacda44 100644 --- a/extensions/vscode/src/features/splitEditors.ts +++ b/extensions/vscode/src/features/splitEditors.ts @@ -1,5 +1,6 @@ import { ExecuteCommandParams, ExecuteCommandRequest, type BaseLanguageClient } from '@volar/vscode'; -import { commands, type SFCParseResult } from '@vue/language-server'; +import type { SFCParseResult } from '@vue/language-server'; +import { commands } from '@vue/language-server/lib/types'; import * as vscode from 'vscode'; import { config } from '../config'; diff --git a/extensions/vscode/src/middleware.ts b/extensions/vscode/src/middleware.ts index 00b75ff5ae..d4b22781cb 100644 --- a/extensions/vscode/src/middleware.ts +++ b/extensions/vscode/src/middleware.ts @@ -1,4 +1,4 @@ -import { AttrNameCasing, TagNameCasing } from '@vue/language-server'; +import { AttrNameCasing, TagNameCasing } from '@vue/language-server/lib/types'; import * as vscode from 'vscode'; import * as lsp from '@volar/vscode'; import { attrNameCasings, tagNameCasings } from './features/nameCasing'; diff --git a/extensions/vscode/src/nodeClientMain.ts b/extensions/vscode/src/nodeClientMain.ts index 2f6c0a0819..c4aa8e0b24 100644 --- a/extensions/vscode/src/nodeClientMain.ts +++ b/extensions/vscode/src/nodeClientMain.ts @@ -1,5 +1,5 @@ import { createLabsInfo } from '@volar/vscode'; -import * as serverLib from '@vue/language-server'; +import * as protocol from '@vue/language-server/protocol'; import * as fs from 'fs'; import * as vscode from 'vscode'; import * as lsp from '@volar/vscode/node'; @@ -9,7 +9,7 @@ import { middleware } from './middleware'; export async function activate(context: vscode.ExtensionContext) { - const volarLabs = createLabsInfo(serverLib); + const volarLabs = createLabsInfo(protocol); await commonActivate(context, ( id, diff --git a/packages/language-server/index.ts b/packages/language-server/index.ts index d92c980f11..9c6cb20f83 100644 --- a/packages/language-server/index.ts +++ b/packages/language-server/index.ts @@ -1,10 +1,8 @@ -export { commands } from '@vue/language-service'; export * from './lib/types'; export * from './lib/initialize'; -// export protocol and types of parent package +// export types of parent package export * from '@volar/language-server/lib/types'; -export * from '@volar/language-server/protocol'; // only export types of depend packages export * from '@vue/language-service/lib/types'; diff --git a/packages/language-server/lib/initialize.ts b/packages/language-server/lib/initialize.ts index 2c3a6fd48d..6b953a3a46 100644 --- a/packages/language-server/lib/initialize.ts +++ b/packages/language-server/lib/initialize.ts @@ -1,4 +1,4 @@ -import { LanguageServer } from '@volar/language-server'; +import type { LanguageServer } from '@volar/language-server'; import { createTypeScriptProject } from '@volar/language-server/node'; import { createParsedCommandLine, createVueLanguagePlugin, FileMap, resolveVueCompilerOptions, VueCompilerOptions } from '@vue/language-core'; import { Disposable, getFullLanguageServicePlugins, InitializeParams } from '@vue/language-service'; diff --git a/packages/language-server/lib/types.ts b/packages/language-server/lib/types.ts index 3f47f92826..1d367db8af 100644 --- a/packages/language-server/lib/types.ts +++ b/packages/language-server/lib/types.ts @@ -6,3 +6,6 @@ export type VueInitializationOptions = { hybridMode?: boolean; }; }; + +export * from '@volar/language-server/lib/types'; +export * from '@vue/language-service/lib/types'; diff --git a/packages/language-server/protocol.ts b/packages/language-server/protocol.ts new file mode 100644 index 0000000000..d72c990e7c --- /dev/null +++ b/packages/language-server/protocol.ts @@ -0,0 +1 @@ +export * from '@volar/language-server/protocol'; diff --git a/packages/language-service/index.ts b/packages/language-service/index.ts index 2c76f4495a..f88e4effee 100644 --- a/packages/language-service/index.ts +++ b/packages/language-service/index.ts @@ -4,7 +4,7 @@ export * from './lib/ideFeatures/nameCasing'; export * from './lib/types'; import type { LanguageServiceContext, LanguageServicePlugin } from '@volar/language-service'; -import { AttrNameCasing, TagNameCasing } from './lib/types'; +import { AttrNameCasing, commands, TagNameCasing } from './lib/types'; import { create as createEmmetPlugin } from 'volar-service-emmet'; import { create as createJsonPlugin } from 'volar-service-json'; @@ -149,15 +149,6 @@ export function getHybridModeLanguageServicePlugins( return plugins; } -export const commands = { - parseSfc: 'vue.parseSfc', - detectNameCasing: 'vue.detectNameCasing', - convertTagsToKebabCase: 'vue.convertTagsToKebabCase', - convertTagsToPascalCase: 'vue.convertTagsToPascalCase', - convertPropsToKebabCase: 'vue.convertPropsToKebabCase', - convertPropsToCamelCase: 'vue.convertPropsToCamelCase', -}; - function getCommonLanguageServicePlugins( ts: typeof import('typescript'), getTsPluginClient: (context: LanguageServiceContext) => typeof import('@vue/typescript-plugin/lib/client') | undefined diff --git a/packages/language-service/lib/types.ts b/packages/language-service/lib/types.ts index eac203bd7f..beeef34c0f 100644 --- a/packages/language-service/lib/types.ts +++ b/packages/language-service/lib/types.ts @@ -8,6 +8,15 @@ export enum AttrNameCasing { Camel, } +export const commands = { + parseSfc: 'vue.parseSfc', + detectNameCasing: 'vue.detectNameCasing', + convertTagsToKebabCase: 'vue.convertTagsToKebabCase', + convertTagsToPascalCase: 'vue.convertTagsToPascalCase', + convertPropsToKebabCase: 'vue.convertPropsToKebabCase', + convertPropsToCamelCase: 'vue.convertPropsToCamelCase', +}; + // only export types of depend packages export * from '@volar/language-service/lib/types'; export * from '@vue/language-core/lib/types';