@volar/typescript 2.4.0-alpha.16 → 2.4.0-alpha.18

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.
@@ -29,6 +29,7 @@ function createProxyLanguageService(languageService) {
29
29
  case 'getDocumentHighlights': return getDocumentHighlights(language, target[p]);
30
30
  case 'getApplicableRefactors': return getApplicableRefactors(language, target[p]);
31
31
  case 'getEditsForRefactor': return getEditsForRefactor(language, target[p]);
32
+ case 'getCombinedCodeFix': return getCombinedCodeFix(language, target[p]);
32
33
  case 'getRenameInfo': return getRenameInfo(language, target[p]);
33
34
  case 'getCodeFixesAtPosition': return getCodeFixesAtPosition(language, target[p]);
34
35
  case 'getEncodedSemanticClassifications': return getEncodedSemanticClassifications(language, target[p]);
@@ -46,6 +47,7 @@ function createProxyLanguageService(languageService) {
46
47
  case 'getCompletionEntryDetails': return getCompletionEntryDetails(language, target[p]);
47
48
  case 'provideInlayHints': return provideInlayHints(language, target[p]);
48
49
  case 'getFileReferences': return getFileReferences(language, target[p]);
50
+ case 'getNavigateToItems': return getNavigateToItems(language, target[p]);
49
51
  }
50
52
  };
51
53
  },
@@ -467,6 +469,13 @@ function getEditsForRefactor(language, getEditsForRefactor) {
467
469
  }
468
470
  };
469
471
  }
472
+ function getCombinedCodeFix(language, getCombinedCodeFix) {
473
+ return (...args) => {
474
+ const codeActions = getCombinedCodeFix(...args);
475
+ codeActions.changes = (0, transform_1.transformFileTextChanges)(language, codeActions.changes, language_core_1.isCodeActionsEnabled);
476
+ return codeActions;
477
+ };
478
+ }
470
479
  function getRenameInfo(language, getRenameInfo) {
471
480
  return (filePath, position, options) => {
472
481
  const fileName = filePath.replace(windowsPathReg, '/');
@@ -861,6 +870,15 @@ function getFileReferences(language, getFileReferences) {
861
870
  return (0, dedupe_1.dedupeDocumentSpans)(resolved);
862
871
  };
863
872
  }
873
+ function getNavigateToItems(language, getNavigateToItems) {
874
+ return (...args) => {
875
+ const unresolved = getNavigateToItems(...args);
876
+ const resolved = unresolved
877
+ .map(s => (0, transform_1.transformDocumentSpan)(language, s, language_core_1.isReferencesEnabled))
878
+ .filter(s => !!s);
879
+ return (0, dedupe_1.dedupeDocumentSpans)(resolved);
880
+ };
881
+ }
864
882
  function linkedCodeFeatureWorker(language, fileName, position, filter, worker, getLinkedCodes) {
865
883
  const results = [];
866
884
  const processedFilePositions = new Set();
@@ -36,7 +36,8 @@ function createAsyncLanguageServicePlugin(extensions, getScriptKindForExtraExten
36
36
  if (getScriptKind) {
37
37
  info.languageServiceHost.getScriptKind = fileName => {
38
38
  if (!initialized && extensions.some(ext => fileName.endsWith(ext))) {
39
- // TODO: bypass upstream bug
39
+ // bypass upstream bug https://github.com/microsoft/TypeScript/issues/57631
40
+ // TODO: check if the bug is fixed in 5.5
40
41
  if (typeof getScriptKindForExtraExtensions === 'function') {
41
42
  return getScriptKindForExtraExtensions(fileName);
42
43
  }
@@ -58,17 +59,11 @@ function createAsyncLanguageServicePlugin(extensions, getScriptKindForExtraExten
58
59
  const { proxy, initialize } = (0, proxyLanguageService_1.createProxyLanguageService)(info.languageService);
59
60
  info.languageService = proxy;
60
61
  create(ts, info).then(({ languagePlugins, setup }) => {
61
- const syncedScriptVersions = new language_core_1.FileMap(ts.sys.useCaseSensitiveFileNames);
62
62
  const language = (0, language_core_1.createLanguage)([
63
63
  ...languagePlugins,
64
64
  { getLanguageId: common_1.resolveFileLanguageId },
65
65
  ], new language_core_1.FileMap(ts.sys.useCaseSensitiveFileNames), fileName => {
66
- const version = getScriptVersion(fileName);
67
- if (syncedScriptVersions.get(fileName) === version) {
68
- return;
69
- }
70
- syncedScriptVersions.set(fileName, version);
71
- const snapshot = getScriptSnapshot(fileName);
66
+ const snapshot = info.project.getScriptInfo(fileName)?.getSnapshot();
72
67
  if (snapshot) {
73
68
  language.scripts.set(fileName, snapshot);
74
69
  }
@@ -25,19 +25,11 @@ function createLanguageServicePlugin(create) {
25
25
  .map(plugin => plugin.typescript?.extraFileExtensions.map(ext => '.' + ext.extension) ?? [])
26
26
  .flat();
27
27
  exports.projectExternalFileExtensions.set(info.project, extensions);
28
- const getScriptSnapshot = info.languageServiceHost.getScriptSnapshot.bind(info.languageServiceHost);
29
- const getScriptVersion = info.languageServiceHost.getScriptVersion.bind(info.languageServiceHost);
30
- const syncedScriptVersions = new language_core_1.FileMap(ts.sys.useCaseSensitiveFileNames);
31
28
  const language = (0, language_core_1.createLanguage)([
32
29
  ...languagePlugins,
33
30
  { getLanguageId: common_1.resolveFileLanguageId },
34
31
  ], new language_core_1.FileMap(ts.sys.useCaseSensitiveFileNames), fileName => {
35
- const version = getScriptVersion(fileName);
36
- if (syncedScriptVersions.get(fileName) === version) {
37
- return;
38
- }
39
- syncedScriptVersions.set(fileName, version);
40
- const snapshot = getScriptSnapshot(fileName);
32
+ const snapshot = info.project.getScriptInfo(fileName)?.getSnapshot();
41
33
  if (snapshot) {
42
34
  language.scripts.set(fileName, snapshot);
43
35
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volar/typescript",
3
- "version": "2.4.0-alpha.16",
3
+ "version": "2.4.0-alpha.18",
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.0-alpha.16",
15
+ "@volar/language-core": "2.4.0-alpha.18",
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.0-alpha.16"
22
+ "@volar/language-service": "2.4.0-alpha.18"
23
23
  },
24
- "gitHead": "ad1f693295aa0a7b1a800e0a0d05f414c6fef351"
24
+ "gitHead": "ea2e22ca17116b4274d661a014cff040c1d206cb"
25
25
  }