@volar/typescript 2.4.1 → 2.4.2

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.
@@ -826,14 +826,30 @@ function provideInlayHints(language, provideInlayHints) {
826
826
  if (serviceScript) {
827
827
  let start;
828
828
  let end;
829
- const map = language.maps.get(serviceScript.code, targetScript);
829
+ const map = language.maps.get(serviceScript.code, sourceScript);
830
830
  for (const mapping of map.mappings) {
831
- if ((0, language_core_1.isInlayHintsEnabled)(mapping.data) && mapping.sourceOffsets[0] >= span.start && mapping.sourceOffsets[0] <= span.start + span.length) {
832
- start ??= mapping.generatedOffsets[0];
833
- end ??= mapping.generatedOffsets[mapping.generatedOffsets.length - 1];
834
- start = Math.min(start, mapping.generatedOffsets[0]);
835
- end = Math.max(end, mapping.generatedOffsets[mapping.generatedOffsets.length - 1]);
831
+ if (!(0, language_core_1.isInlayHintsEnabled)(mapping.data)) {
832
+ continue;
833
+ }
834
+ let mappingStart = mapping.sourceOffsets[0];
835
+ let genStart;
836
+ let genEnd;
837
+ if (mappingStart >= span.start && mappingStart <= span.start + span.length) {
838
+ genStart = mapping.generatedOffsets[0];
839
+ genEnd = mapping.generatedOffsets[mapping.generatedOffsets.length - 1]
840
+ + (mapping.generatedLengths ?? mapping.lengths)[mapping.generatedOffsets.length - 1];
841
+ }
842
+ else if (mappingStart < span.start && span.start < mappingStart + mapping.lengths[0]
843
+ && mapping.sourceOffsets.length == 1
844
+ && (!mapping.generatedLengths || mapping.generatedLengths[0] === mapping.lengths[0])) {
845
+ genStart = mapping.generatedOffsets[0] + span.start - mappingStart;
846
+ genEnd = Math.min(genStart + span.length, mapping.generatedOffsets[0] + mapping.lengths[0]);
847
+ }
848
+ else {
849
+ continue;
836
850
  }
851
+ start = Math.min(start ?? genStart, genStart);
852
+ end = Math.max(end ?? genEnd, genEnd);
837
853
  }
838
854
  if (start === undefined || end === undefined) {
839
855
  start = 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volar/typescript",
3
- "version": "2.4.1",
3
+ "version": "2.4.2",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "**/*.js",
@@ -12,14 +12,14 @@
12
12
  "directory": "packages/typescript"
13
13
  },
14
14
  "dependencies": {
15
- "@volar/language-core": "2.4.1",
15
+ "@volar/language-core": "2.4.2",
16
16
  "path-browserify": "^1.0.1",
17
17
  "vscode-uri": "^3.0.8"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@types/node": "latest",
21
21
  "@types/path-browserify": "latest",
22
- "@volar/language-service": "2.4.1"
22
+ "@volar/language-service": "2.4.2"
23
23
  },
24
- "gitHead": "b920b6c4a3e4b2d8f46c676ea414e94c437cb5b7"
24
+ "gitHead": "f384d55ef4ae21e9f9a6796c9676a4a710458ed9"
25
25
  }