@volar/typescript 2.2.0 → 2.2.1
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.
|
@@ -316,7 +316,10 @@ function decorateLanguageService(language, languageService) {
|
|
|
316
316
|
const [serviceScript, sourceScript, map] = (0, utils_1.getServiceScript)(language, fileName);
|
|
317
317
|
if (serviceScript) {
|
|
318
318
|
let failed;
|
|
319
|
-
for (const generateOffset of (0, transform_1.
|
|
319
|
+
for (const [generateOffset, mapping] of (0, transform_1.toGeneratedOffsets)(sourceScript, map, position)) {
|
|
320
|
+
if (!(0, language_core_1.isRenameEnabled)(mapping.data)) {
|
|
321
|
+
continue;
|
|
322
|
+
}
|
|
320
323
|
const info = getRenameInfo(fileName, generateOffset, options);
|
|
321
324
|
if (info.canRename) {
|
|
322
325
|
const span = (0, transform_1.transformTextSpan)(sourceScript, map, info.triggerSpan, language_core_1.isRenameEnabled);
|
|
@@ -529,44 +532,37 @@ function decorateLanguageService(language, languageService) {
|
|
|
529
532
|
const fileName = filePath.replace(windowsPathReg, '/');
|
|
530
533
|
const [serviceScript, sourceScript, map] = (0, utils_1.getServiceScript)(language, fileName);
|
|
531
534
|
if (serviceScript) {
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
if (!(0, language_core_1.isCompletionEnabled)(data)) {
|
|
537
|
-
return false;
|
|
538
|
-
}
|
|
539
|
-
isAdditional = typeof data.completion === 'object' && data.completion.isAdditional;
|
|
540
|
-
if (!isAdditional && mainResult) {
|
|
541
|
-
return false;
|
|
535
|
+
const results = [];
|
|
536
|
+
for (const [generatedOffset, mapping] of (0, transform_1.toGeneratedOffsets)(sourceScript, map, position)) {
|
|
537
|
+
if (!(0, language_core_1.isCompletionEnabled)(mapping.data)) {
|
|
538
|
+
continue;
|
|
542
539
|
}
|
|
543
|
-
return true;
|
|
544
|
-
});
|
|
545
|
-
if (generatedOffset !== undefined) {
|
|
546
540
|
const result = getCompletionsAtPosition(fileName, generatedOffset, options, formattingSettings);
|
|
547
|
-
if (result) {
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
result.
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
541
|
+
if (!result || !result.entries.length) {
|
|
542
|
+
continue;
|
|
543
|
+
}
|
|
544
|
+
if (typeof mapping.data.completion === 'object' && mapping.data.completion.onlyImport) {
|
|
545
|
+
result.entries = result.entries.filter(entry => !!entry.sourceDisplay);
|
|
546
|
+
}
|
|
547
|
+
for (const entry of result.entries) {
|
|
548
|
+
entry.replacementSpan = entry.replacementSpan && (0, transform_1.transformTextSpan)(sourceScript, map, entry.replacementSpan, language_core_1.isCompletionEnabled);
|
|
549
|
+
}
|
|
550
|
+
result.optionalReplacementSpan = result.optionalReplacementSpan
|
|
551
|
+
&& (0, transform_1.transformTextSpan)(sourceScript, map, result.optionalReplacementSpan, language_core_1.isCompletionEnabled);
|
|
552
|
+
const isAdditional = typeof mapping.data.completion === 'object' && mapping.data.completion.isAdditional;
|
|
553
|
+
if (isAdditional) {
|
|
554
|
+
results.push(result);
|
|
555
|
+
}
|
|
556
|
+
else {
|
|
557
|
+
results.splice(0, 0, result);
|
|
558
558
|
}
|
|
559
559
|
}
|
|
560
|
-
if (
|
|
561
|
-
mainResult = additionalResults.shift();
|
|
562
|
-
}
|
|
563
|
-
if (mainResult) {
|
|
560
|
+
if (results.length) {
|
|
564
561
|
return {
|
|
565
|
-
...
|
|
566
|
-
entries:
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
],
|
|
562
|
+
...results[0],
|
|
563
|
+
entries: results
|
|
564
|
+
.map(additionalResult => additionalResult.entries)
|
|
565
|
+
.flat(),
|
|
570
566
|
};
|
|
571
567
|
}
|
|
572
568
|
}
|
package/lib/node/transform.d.ts
CHANGED
|
@@ -13,4 +13,4 @@ export declare function transformTextChange(sourceScript: SourceScript, map: Sou
|
|
|
13
13
|
export declare function transformTextSpan(sourceScript: SourceScript, map: SourceMap<CodeInformation>, textSpan: ts.TextSpan, filter: (data: CodeInformation) => boolean): ts.TextSpan | undefined;
|
|
14
14
|
export declare function toSourceOffset(sourceScript: SourceScript, map: SourceMap, position: number, filter: (data: CodeInformation) => boolean): number | undefined;
|
|
15
15
|
export declare function toGeneratedOffset(sourceScript: SourceScript, map: SourceMap, position: number, filter: (data: CodeInformation) => boolean): number | undefined;
|
|
16
|
-
export declare function
|
|
16
|
+
export declare function toGeneratedOffsets(sourceScript: SourceScript, map: SourceMap<CodeInformation>, position: number): Generator<readonly [number, import("@volar/language-core").Mapping<CodeInformation>], void, unknown>;
|
package/lib/node/transform.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.toGeneratedOffsets = exports.toGeneratedOffset = exports.toSourceOffset = exports.transformTextSpan = exports.transformTextChange = exports.transformSpan = exports.transformDocumentSpan = exports.transformFileTextChanges = exports.fillSourceFileText = exports.transformDiagnostic = exports.transformCallHierarchyItem = void 0;
|
|
4
4
|
const language_core_1 = require("@volar/language-core");
|
|
5
5
|
const utils_1 = require("./utils");
|
|
6
6
|
const transformedDiagnostics = new WeakMap();
|
|
@@ -172,12 +172,10 @@ function toGeneratedOffset(sourceScript, map, position, filter) {
|
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
exports.toGeneratedOffset = toGeneratedOffset;
|
|
175
|
-
function*
|
|
175
|
+
function* toGeneratedOffsets(sourceScript, map, position) {
|
|
176
176
|
for (const [generateOffset, mapping] of map.getGeneratedOffsets(position)) {
|
|
177
|
-
|
|
178
|
-
yield generateOffset + sourceScript.snapshot.getLength();
|
|
179
|
-
}
|
|
177
|
+
yield [generateOffset + sourceScript.snapshot.getLength(), mapping];
|
|
180
178
|
}
|
|
181
179
|
}
|
|
182
|
-
exports.
|
|
180
|
+
exports.toGeneratedOffsets = toGeneratedOffsets;
|
|
183
181
|
//# sourceMappingURL=transform.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volar/typescript",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"**/*.js",
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
"directory": "packages/typescript"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@volar/language-core": "2.2.
|
|
15
|
+
"@volar/language-core": "2.2.1",
|
|
16
16
|
"path-browserify": "^1.0.1"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@types/node": "latest",
|
|
20
20
|
"@types/path-browserify": "latest",
|
|
21
|
-
"@volar/language-service": "2.2.
|
|
21
|
+
"@volar/language-service": "2.2.1"
|
|
22
22
|
},
|
|
23
|
-
"gitHead": "
|
|
23
|
+
"gitHead": "629f686bda694077b236a0bcd0304437bb2eabf5"
|
|
24
24
|
}
|