@volar/language-core 1.0.13 → 1.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/documentRegistry.d.ts +2 -2
- package/out/documentRegistry.js +9 -11
- package/out/languageContext.d.ts +1 -1
- package/out/languageContext.js +3 -3
- package/out/types.d.ts +1 -4
- package/package.json +3 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Mapping, SourceMapBase } from '@volar/source-map';
|
|
2
2
|
import { Teleport } from './sourceMaps';
|
|
3
3
|
import type { EmbeddedFile, LanguageModule, SourceFile } from './types';
|
|
4
|
-
export declare function forEachEmbeddeds(
|
|
4
|
+
export declare function forEachEmbeddeds(file: EmbeddedFile, cb: (embedded: EmbeddedFile) => void): void;
|
|
5
5
|
export type DocumentRegistry = ReturnType<typeof createDocumentRegistry>;
|
|
6
6
|
export declare function createDocumentRegistry(): {
|
|
7
7
|
get: (fileName: string) => [SourceFile, LanguageModule] | undefined;
|
|
@@ -15,7 +15,7 @@ export declare function createDocumentRegistry(): {
|
|
|
15
15
|
sourceFile: SourceFile;
|
|
16
16
|
embedded: EmbeddedFile;
|
|
17
17
|
}, void, unknown>;
|
|
18
|
-
fromEmbeddedLocation: (fileName: string, offset: number) => Generator<{
|
|
18
|
+
fromEmbeddedLocation: (fileName: string, offset: number, baseOnRight?: boolean) => Generator<{
|
|
19
19
|
fileName: string;
|
|
20
20
|
offset: number;
|
|
21
21
|
mapping: Mapping<any>;
|
package/out/documentRegistry.js
CHANGED
|
@@ -3,12 +3,10 @@ exports.createDocumentRegistry = exports.forEachEmbeddeds = void 0;
|
|
|
3
3
|
const source_map_1 = require("@volar/source-map");
|
|
4
4
|
const reactivity_1 = require("@vue/reactivity");
|
|
5
5
|
const sourceMaps_1 = require("./sourceMaps");
|
|
6
|
-
function forEachEmbeddeds(
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
forEachEmbeddeds(child.embeddeds, cb);
|
|
6
|
+
function forEachEmbeddeds(file, cb) {
|
|
7
|
+
cb(file);
|
|
8
|
+
for (const child of file.embeddeds) {
|
|
9
|
+
forEachEmbeddeds(child, cb);
|
|
12
10
|
}
|
|
13
11
|
}
|
|
14
12
|
exports.forEachEmbeddeds = forEachEmbeddeds;
|
|
@@ -19,7 +17,7 @@ function createDocumentRegistry() {
|
|
|
19
17
|
const embeddedDocumentsMap = (0, reactivity_1.computed)(() => {
|
|
20
18
|
const map = new WeakMap();
|
|
21
19
|
for (const [sourceFile] of all.value) {
|
|
22
|
-
forEachEmbeddeds(sourceFile
|
|
20
|
+
forEachEmbeddeds(sourceFile, embedded => {
|
|
23
21
|
map.set(embedded, sourceFile);
|
|
24
22
|
});
|
|
25
23
|
}
|
|
@@ -28,7 +26,7 @@ function createDocumentRegistry() {
|
|
|
28
26
|
const sourceMapsByFileName = (0, reactivity_1.computed)(() => {
|
|
29
27
|
const map = new Map();
|
|
30
28
|
for (const [sourceFile] of all.value) {
|
|
31
|
-
forEachEmbeddeds(sourceFile
|
|
29
|
+
forEachEmbeddeds(sourceFile, embedded => {
|
|
32
30
|
map.set(normalizePath(embedded.fileName), { sourceFile, embedded });
|
|
33
31
|
});
|
|
34
32
|
}
|
|
@@ -38,7 +36,7 @@ function createDocumentRegistry() {
|
|
|
38
36
|
const map = new Map();
|
|
39
37
|
for (const key in files) {
|
|
40
38
|
const [sourceFile] = files[key];
|
|
41
|
-
forEachEmbeddeds(sourceFile
|
|
39
|
+
forEachEmbeddeds(sourceFile, embedded => {
|
|
42
40
|
if (embedded.teleportMappings) {
|
|
43
41
|
map.set(normalizePath(embedded.fileName), getTeleport(sourceFile, embedded.teleportMappings));
|
|
44
42
|
}
|
|
@@ -61,14 +59,14 @@ function createDocumentRegistry() {
|
|
|
61
59
|
yield sourceMap[1];
|
|
62
60
|
}
|
|
63
61
|
},
|
|
64
|
-
fromEmbeddedLocation: function* (fileName, offset) {
|
|
62
|
+
fromEmbeddedLocation: function* (fileName, offset, baseOnRight = false) {
|
|
65
63
|
if (fileName.endsWith('/__VLS_types.ts')) { // TODO: monkey fix
|
|
66
64
|
return;
|
|
67
65
|
}
|
|
68
66
|
const mapped = sourceMapsByFileName.value.get(normalizePath(fileName));
|
|
69
67
|
if (mapped) {
|
|
70
68
|
const sourceMap = getSourceMap(mapped.sourceFile, mapped.embedded.mappings);
|
|
71
|
-
for (const vueRange of sourceMap.toSourceOffsets(offset)) {
|
|
69
|
+
for (const vueRange of sourceMap.toSourceOffsets(offset, baseOnRight)) {
|
|
72
70
|
yield {
|
|
73
71
|
fileName: mapped.sourceFile.fileName,
|
|
74
72
|
offset: vueRange[0],
|
package/out/languageContext.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export declare function createEmbeddedLanguageServiceHost(host: LanguageServiceH
|
|
|
15
15
|
sourceFile: SourceFile;
|
|
16
16
|
embedded: import("./types").EmbeddedFile;
|
|
17
17
|
}, void, unknown>;
|
|
18
|
-
fromEmbeddedLocation: (fileName: string, offset: number) => Generator<{
|
|
18
|
+
fromEmbeddedLocation: (fileName: string, offset: number, baseOnRight?: boolean) => Generator<{
|
|
19
19
|
fileName: string;
|
|
20
20
|
offset: number;
|
|
21
21
|
mapping: import("@volar/source-map").Mapping<any>;
|
package/out/languageContext.js
CHANGED
|
@@ -173,13 +173,13 @@ function createEmbeddedLanguageServiceHost(host, languageModules) {
|
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
175
|
for (const [sourceFile, languageModule, snapshot] of sourceFilesToUpdate) {
|
|
176
|
-
(0, documentRegistry_1.forEachEmbeddeds)(sourceFile
|
|
176
|
+
(0, documentRegistry_1.forEachEmbeddeds)(sourceFile, embedded => {
|
|
177
177
|
fileVersions.delete(embedded.fileName);
|
|
178
178
|
});
|
|
179
179
|
const oldScripts = {};
|
|
180
180
|
const newScripts = {};
|
|
181
181
|
if (!tsFileUpdated) {
|
|
182
|
-
(0, documentRegistry_1.forEachEmbeddeds)(sourceFile
|
|
182
|
+
(0, documentRegistry_1.forEachEmbeddeds)(sourceFile, embedded => {
|
|
183
183
|
if (embedded.kind) {
|
|
184
184
|
oldScripts[embedded.fileName] = embedded.text;
|
|
185
185
|
}
|
|
@@ -188,7 +188,7 @@ function createEmbeddedLanguageServiceHost(host, languageModules) {
|
|
|
188
188
|
languageModule.updateSourceFile(sourceFile, snapshot);
|
|
189
189
|
documentRegistry.onSourceFileUpdated(sourceFile);
|
|
190
190
|
if (!tsFileUpdated) {
|
|
191
|
-
(0, documentRegistry_1.forEachEmbeddeds)(sourceFile
|
|
191
|
+
(0, documentRegistry_1.forEachEmbeddeds)(sourceFile, embedded => {
|
|
192
192
|
if (embedded.kind) {
|
|
193
193
|
newScripts[embedded.fileName] = embedded.text;
|
|
194
194
|
}
|
package/out/types.d.ts
CHANGED
|
@@ -40,10 +40,7 @@ export interface TextRange {
|
|
|
40
40
|
start: number;
|
|
41
41
|
end: number;
|
|
42
42
|
}
|
|
43
|
-
export interface SourceFile {
|
|
44
|
-
fileName: string;
|
|
45
|
-
text: string;
|
|
46
|
-
embeddeds: EmbeddedFile[];
|
|
43
|
+
export interface SourceFile extends EmbeddedFile {
|
|
47
44
|
}
|
|
48
45
|
export declare enum EmbeddedFileKind {
|
|
49
46
|
TextFile = 0,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volar/language-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.14",
|
|
4
4
|
"main": "out/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
"directory": "packages/language-core"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@volar/source-map": "1.0.
|
|
16
|
+
"@volar/source-map": "1.0.14",
|
|
17
17
|
"@vue/reactivity": "^3.2.45",
|
|
18
18
|
"muggle-string": "^0.1.0"
|
|
19
19
|
},
|
|
20
|
-
"gitHead": "
|
|
20
|
+
"gitHead": "ce4d48b37db784400e15fe08282edc836e24d4cd"
|
|
21
21
|
}
|