Skip to content

Commit a6cb6bf

Browse files
committed
chore: update Volar
1 parent 9ad4954 commit a6cb6bf

File tree

21 files changed

+632
-697
lines changed

21 files changed

+632
-697
lines changed

extensions/vscode/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@
543543
"devDependencies": {
544544
"@types/semver": "^7.5.3",
545545
"@types/vscode": "^1.82.0",
546-
"@volar/vscode": "~2.3.0-alpha.4",
546+
"@volar/vscode": "~2.3.0-alpha.14",
547547
"@vue/language-core": "2.0.19",
548548
"@vue/language-server": "2.0.19",
549549
"@vue/typescript-plugin": "2.0.19",

extensions/vscode/src/common.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -441,9 +441,7 @@ async function getInitializationOptions(
441441
hybridMode: boolean
442442
): Promise<VueInitializationOptions> {
443443
return {
444-
typescript: { tsdk: (await lsp.getTsdk(context)).tsdk },
445-
vue: {
446-
hybridMode,
447-
},
444+
typescript: { tsdk: (await lsp.getTsdk(context))!.tsdk },
445+
vue: { hybridMode },
448446
};
449447
};

extensions/vscode/src/features/doctor.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ export async function register(context: vscode.ExtensionContext, client: BaseLan
220220
}
221221

222222
// check tsdk version should be higher than 5.0.0
223-
const tsdk = await getTsdk(context);
223+
const tsdk = (await getTsdk(context))!;
224224
if (tsdk.version && !semver.gte(tsdk.version, '5.0.0')) {
225225
problems.push({
226226
title: 'Requires TSDK 5.0 or higher',

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"@lerna-lite/publish": "latest",
2525
"@tsslint/cli": "latest",
2626
"@tsslint/config": "latest",
27-
"@volar/language-service": "~2.3.0-alpha.4",
27+
"@volar/language-service": "~2.3.0-alpha.14",
2828
"@volar/tsslint-config": "latest",
2929
"typescript": "latest",
3030
"vite": "latest",

packages/component-meta/lib/base.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -680,7 +680,7 @@ function createSchemaResolvers(
680680
if (sourceFile?.generated) {
681681
const script = sourceFile.generated.languagePlugin.typescript?.getServiceScript(sourceFile.generated.root);
682682
if (script) {
683-
for (const [source, [_, map]] of language.maps.forEach(script.code)) {
683+
for (const [source, _, map] of language.maps.forEach(script.code)) {
684684
for (const [start] of map.getSourceOffsets(declaration.getStart())) {
685685
for (const [end] of map.getSourceOffsets(declaration.getEnd())) {
686686
return {

packages/component-meta/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"directory": "packages/component-meta"
1313
},
1414
"dependencies": {
15-
"@volar/typescript": "~2.3.0-alpha.4",
15+
"@volar/typescript": "~2.3.0-alpha.14",
1616
"@vue/language-core": "2.0.19",
1717
"path-browserify": "^1.0.1",
1818
"vue-component-type-helpers": "2.0.19"

packages/language-core/lib/virtualFile/computedFiles.ts

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -170,24 +170,32 @@ function computedPluginEmbeddedCodes(
170170

171171
return computed(() => {
172172
return codes().map(_file => {
173-
174173
const { code, snapshot } = _file();
175-
const mappings = buildMappings(code.content);
174+
const mappings = buildMappings(code.content.map<Code>(segment => {
175+
if (typeof segment === 'string') {
176+
return segment;
177+
}
178+
const source = segment[1];
179+
if (source === undefined) {
180+
return segment;
181+
}
182+
const block = nameToBlock()[source];
183+
if (!block) {
184+
console.warn('Unable to find block: ' + source);
185+
return segment;
186+
}
187+
return [
188+
segment[0],
189+
undefined,
190+
segment[2] + block.startTagEnd,
191+
segment[3],
192+
];
193+
}));
176194
const newMappings: typeof mappings = [];
177195
let lastValidMapping: typeof mappings[number] | undefined;
178196

179197
for (let i = 0; i < mappings.length; i++) {
180198
const mapping = mappings[i];
181-
if (mapping.source !== undefined) {
182-
const block = nameToBlock()[mapping.source];
183-
if (block) {
184-
mapping.sourceOffsets = mapping.sourceOffsets.map(offset => offset + block.startTagEnd);
185-
}
186-
else {
187-
// ignore
188-
}
189-
mapping.source = undefined;
190-
}
191199
if (mapping.data.__combineOffsetMapping !== undefined) {
192200
const offsetMapping = mappings[i - mapping.data.__combineOffsetMapping];
193201
if (typeof offsetMapping === 'string' || !offsetMapping) {

packages/language-core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"directory": "packages/language-core"
1313
},
1414
"dependencies": {
15-
"@volar/language-core": "~2.3.0-alpha.4",
15+
"@volar/language-core": "~2.3.0-alpha.14",
1616
"@vue/compiler-dom": "^3.4.0",
1717
"@vue/shared": "^3.4.0",
1818
"computeds": "^0.0.1",

packages/language-plugin-pug/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"@vue/language-core": "2.0.19"
1717
},
1818
"dependencies": {
19-
"@volar/source-map": "~2.3.0-alpha.4",
20-
"volar-service-pug": "0.0.49"
19+
"@volar/source-map": "~2.3.0-alpha.14",
20+
"volar-service-pug": "0.0.50"
2121
}
2222
}

packages/language-server/lib/hybridModeProject.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { LanguagePlugin, LanguageServer, Project, ProviderResult } from '@volar/language-server';
1+
import type { LanguagePlugin, LanguageServer, LanguageServerProject, ProviderResult } from '@volar/language-server';
22
import { createLanguageServiceEnvironment } from '@volar/language-server/lib/project/simpleProject';
33
import { createLanguage } from '@vue/language-core';
44
import { Disposable, LanguageService, LanguageServiceEnvironment, createLanguageService, createUriMap } from '@vue/language-service';
@@ -20,15 +20,19 @@ export type GetLanguagePlugin<T> = (params: {
2020
export function createHybridModeProject(
2121
sys: ts.System,
2222
getLanguagePlugins: GetLanguagePlugin<URI>
23-
): Project {
23+
): LanguageServerProject {
2424
let initialized = false;
2525
let simpleLs: Promise<LanguageService> | undefined;
2626
let serviceEnv: LanguageServiceEnvironment | undefined;
27+
let server: LanguageServer;
2728

2829
const tsconfigProjects = createUriMap<Promise<LanguageService>>(sys.useCaseSensitiveFileNames);
2930

3031
return {
31-
async getLanguageService(server, uri) {
32+
setup(_server) {
33+
server = _server;
34+
},
35+
async getLanguageService(uri) {
3236
if (!initialized) {
3337
initialized = true;
3438
initialize(server);

0 commit comments

Comments
 (0)