@zzzen/pyright-internal 1.2.0-dev.20240107 → 1.2.0-dev.20240121

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.
Files changed (245) hide show
  1. package/dist/analyzer/binder.d.ts +1 -3
  2. package/dist/analyzer/binder.js +27 -37
  3. package/dist/analyzer/binder.js.map +1 -1
  4. package/dist/analyzer/checker.d.ts +2 -2
  5. package/dist/analyzer/checker.js +345 -351
  6. package/dist/analyzer/checker.js.map +1 -1
  7. package/dist/analyzer/codeFlowEngine.js +2 -2
  8. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  9. package/dist/analyzer/commentUtils.js +7 -7
  10. package/dist/analyzer/commentUtils.js.map +1 -1
  11. package/dist/analyzer/constraintSolver.js +29 -30
  12. package/dist/analyzer/constraintSolver.js.map +1 -1
  13. package/dist/analyzer/constructorTransform.js +10 -11
  14. package/dist/analyzer/constructorTransform.js.map +1 -1
  15. package/dist/analyzer/constructors.d.ts +3 -3
  16. package/dist/analyzer/constructors.js +12 -14
  17. package/dist/analyzer/constructors.js.map +1 -1
  18. package/dist/analyzer/dataClasses.js +17 -17
  19. package/dist/analyzer/dataClasses.js.map +1 -1
  20. package/dist/analyzer/decorators.d.ts +1 -2
  21. package/dist/analyzer/decorators.js +13 -10
  22. package/dist/analyzer/decorators.js.map +1 -1
  23. package/dist/analyzer/enums.d.ts +4 -2
  24. package/dist/analyzer/enums.js +109 -50
  25. package/dist/analyzer/enums.js.map +1 -1
  26. package/dist/analyzer/functionTransform.js +1 -2
  27. package/dist/analyzer/functionTransform.js.map +1 -1
  28. package/dist/analyzer/importResolver.d.ts +2 -2
  29. package/dist/analyzer/importResolver.js +96 -27
  30. package/dist/analyzer/importResolver.js.map +1 -1
  31. package/dist/analyzer/namedTuples.js +8 -7
  32. package/dist/analyzer/namedTuples.js.map +1 -1
  33. package/dist/analyzer/operations.js +19 -21
  34. package/dist/analyzer/operations.js.map +1 -1
  35. package/dist/analyzer/parseTreeUtils.d.ts +1 -1
  36. package/dist/analyzer/parseTreeUtils.js +37 -0
  37. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  38. package/dist/analyzer/patternMatching.js +26 -23
  39. package/dist/analyzer/patternMatching.js.map +1 -1
  40. package/dist/analyzer/program.js +18 -4
  41. package/dist/analyzer/program.js.map +1 -1
  42. package/dist/analyzer/properties.js +8 -8
  43. package/dist/analyzer/properties.js.map +1 -1
  44. package/dist/analyzer/protocols.js +37 -30
  45. package/dist/analyzer/protocols.js.map +1 -1
  46. package/dist/analyzer/service.d.ts +1 -1
  47. package/dist/analyzer/service.js +21 -20
  48. package/dist/analyzer/service.js.map +1 -1
  49. package/dist/analyzer/sourceFile.d.ts +2 -2
  50. package/dist/analyzer/sourceFile.js +17 -17
  51. package/dist/analyzer/sourceFile.js.map +1 -1
  52. package/dist/analyzer/sourceFileInfoUtils.js +1 -1
  53. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  54. package/dist/analyzer/typeEvaluator.js +1042 -875
  55. package/dist/analyzer/typeEvaluator.js.map +1 -1
  56. package/dist/analyzer/typeEvaluatorTypes.d.ts +12 -11
  57. package/dist/analyzer/typeEvaluatorTypes.js +2 -4
  58. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  59. package/dist/analyzer/typeGuards.js +16 -11
  60. package/dist/analyzer/typeGuards.js.map +1 -1
  61. package/dist/analyzer/typePrinter.js +3 -4
  62. package/dist/analyzer/typePrinter.js.map +1 -1
  63. package/dist/analyzer/typeUtils.d.ts +5 -2
  64. package/dist/analyzer/typeUtils.js +19 -0
  65. package/dist/analyzer/typeUtils.js.map +1 -1
  66. package/dist/analyzer/typedDicts.js +30 -34
  67. package/dist/analyzer/typedDicts.js.map +1 -1
  68. package/dist/analyzer/types.d.ts +12 -13
  69. package/dist/analyzer/types.js +49 -61
  70. package/dist/analyzer/types.js.map +1 -1
  71. package/dist/backgroundAnalysisBase.d.ts +12 -11
  72. package/dist/backgroundAnalysisBase.js +60 -64
  73. package/dist/backgroundAnalysisBase.js.map +1 -1
  74. package/dist/backgroundThreadBase.d.ts +6 -5
  75. package/dist/backgroundThreadBase.js +63 -60
  76. package/dist/backgroundThreadBase.js.map +1 -1
  77. package/dist/commands/quickActionCommand.js +1 -1
  78. package/dist/commands/quickActionCommand.js.map +1 -1
  79. package/dist/common/cancellationUtils.d.ts +6 -3
  80. package/dist/common/cancellationUtils.js +29 -5
  81. package/dist/common/cancellationUtils.js.map +1 -1
  82. package/dist/common/commandLineOptions.d.ts +1 -0
  83. package/dist/common/commandLineOptions.js.map +1 -1
  84. package/dist/common/commandUtils.d.ts +2 -0
  85. package/dist/common/commandUtils.js +24 -0
  86. package/dist/common/commandUtils.js.map +1 -0
  87. package/dist/common/configOptions.d.ts +1 -0
  88. package/dist/common/configOptions.js +13 -11
  89. package/dist/common/configOptions.js.map +1 -1
  90. package/dist/common/core.d.ts +1 -1
  91. package/dist/common/core.js.map +1 -1
  92. package/dist/common/extensibility.d.ts +7 -6
  93. package/dist/common/extensibility.js.map +1 -1
  94. package/dist/common/fileBasedCancellationUtils.js +19 -13
  95. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  96. package/dist/common/fullAccessHost.d.ts +1 -1
  97. package/dist/common/fullAccessHost.js +2 -2
  98. package/dist/common/fullAccessHost.js.map +1 -1
  99. package/dist/common/host.d.ts +2 -2
  100. package/dist/common/host.js.map +1 -1
  101. package/dist/common/realFileSystem.js +8 -8
  102. package/dist/common/realFileSystem.js.map +1 -1
  103. package/dist/common/serviceProvider.js +8 -1
  104. package/dist/common/serviceProvider.js.map +1 -1
  105. package/dist/common/uri/baseUri.d.ts +11 -3
  106. package/dist/common/uri/baseUri.js +54 -25
  107. package/dist/common/uri/baseUri.js.map +1 -1
  108. package/dist/common/uri/emptyUri.d.ts +9 -4
  109. package/dist/common/uri/emptyUri.js +22 -8
  110. package/dist/common/uri/emptyUri.js.map +1 -1
  111. package/dist/common/uri/fileUri.d.ts +14 -4
  112. package/dist/common/uri/fileUri.js +65 -9
  113. package/dist/common/uri/fileUri.js.map +1 -1
  114. package/dist/common/uri/memoization.js +1 -1
  115. package/dist/common/uri/memoization.js.map +1 -1
  116. package/dist/common/uri/uri.d.ts +9 -2
  117. package/dist/common/uri/uri.js +5 -2
  118. package/dist/common/uri/uri.js.map +1 -1
  119. package/dist/common/uri/uriUtils.d.ts +2 -0
  120. package/dist/common/uri/uriUtils.js +21 -4
  121. package/dist/common/uri/uriUtils.js.map +1 -1
  122. package/dist/common/uri/webUri.d.ts +8 -1
  123. package/dist/common/uri/webUri.js +59 -13
  124. package/dist/common/uri/webUri.js.map +1 -1
  125. package/dist/common/workspaceEditUtils.d.ts +6 -5
  126. package/dist/common/workspaceEditUtils.js +18 -17
  127. package/dist/common/workspaceEditUtils.js.map +1 -1
  128. package/dist/languageServerBase.d.ts +2 -0
  129. package/dist/languageServerBase.js +29 -25
  130. package/dist/languageServerBase.js.map +1 -1
  131. package/dist/languageService/analyzerServiceExecutor.d.ts +1 -2
  132. package/dist/languageService/analyzerServiceExecutor.js +8 -5
  133. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  134. package/dist/languageService/autoImporter.js +3 -3
  135. package/dist/languageService/autoImporter.js.map +1 -1
  136. package/dist/languageService/callHierarchyProvider.js +9 -7
  137. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  138. package/dist/languageService/codeActionProvider.js +3 -2
  139. package/dist/languageService/codeActionProvider.js.map +1 -1
  140. package/dist/languageService/completionProvider.d.ts +2 -4
  141. package/dist/languageService/completionProvider.js +14 -18
  142. package/dist/languageService/completionProvider.js.map +1 -1
  143. package/dist/languageService/documentSymbolProvider.js +5 -4
  144. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  145. package/dist/languageService/navigationUtils.js +2 -1
  146. package/dist/languageService/navigationUtils.js.map +1 -1
  147. package/dist/languageService/renameProvider.js +2 -2
  148. package/dist/languageService/renameProvider.js.map +1 -1
  149. package/dist/languageService/workspaceSymbolProvider.js +2 -1
  150. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  151. package/dist/localization/localize.d.ts +10 -9
  152. package/dist/localization/localize.js +9 -5
  153. package/dist/localization/localize.js.map +1 -1
  154. package/dist/localization/package.nls.cs.json +50 -9
  155. package/dist/localization/package.nls.de.json +51 -10
  156. package/dist/localization/package.nls.en-us.json +11 -9
  157. package/dist/localization/package.nls.es.json +51 -10
  158. package/dist/localization/package.nls.fr.json +50 -9
  159. package/dist/localization/package.nls.it.json +51 -10
  160. package/dist/localization/package.nls.ja.json +51 -10
  161. package/dist/localization/package.nls.ko.json +51 -10
  162. package/dist/localization/package.nls.pl.json +51 -10
  163. package/dist/localization/package.nls.pt-br.json +51 -10
  164. package/dist/localization/package.nls.qps-ploc.json +51 -10
  165. package/dist/localization/package.nls.ru.json +50 -9
  166. package/dist/localization/package.nls.tr.json +51 -10
  167. package/dist/localization/package.nls.zh-cn.json +51 -10
  168. package/dist/localization/package.nls.zh-tw.json +51 -10
  169. package/dist/parser/parser.d.ts +1 -4
  170. package/dist/parser/parser.js +201 -201
  171. package/dist/parser/parser.js.map +1 -1
  172. package/dist/parser/tokenizer.d.ts +2 -4
  173. package/dist/parser/tokenizer.js +5 -6
  174. package/dist/parser/tokenizer.js.map +1 -1
  175. package/dist/parser/tokenizerTypes.d.ts +2 -2
  176. package/dist/parser/tokenizerTypes.js.map +1 -1
  177. package/dist/pyright.js +11 -9
  178. package/dist/pyright.js.map +1 -1
  179. package/dist/pyrightFileSystem.js +2 -2
  180. package/dist/server.js +7 -5
  181. package/dist/server.js.map +1 -1
  182. package/dist/tests/chainedSourceFiles.test.js +8 -8
  183. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  184. package/dist/tests/completions.test.js +3 -3
  185. package/dist/tests/completions.test.js.map +1 -1
  186. package/dist/tests/config.test.js +14 -6
  187. package/dist/tests/config.test.js.map +1 -1
  188. package/dist/tests/filesystem.test.js +6 -6
  189. package/dist/tests/filesystem.test.js.map +1 -1
  190. package/dist/tests/fourSlashParser.test.js +23 -9
  191. package/dist/tests/fourSlashParser.test.js.map +1 -1
  192. package/dist/tests/fourslash/rename.multipleDecl.fourslash.d.ts +1 -1
  193. package/dist/tests/harness/fourslash/fourSlashParser.js +4 -0
  194. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  195. package/dist/tests/harness/fourslash/fourSlashTypes.d.ts +3 -0
  196. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  197. package/dist/tests/harness/fourslash/testLanguageService.js +2 -0
  198. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  199. package/dist/tests/harness/fourslash/testState.d.ts +13 -0
  200. package/dist/tests/harness/fourslash/testState.js +14 -8
  201. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  202. package/dist/tests/harness/vfs/factory.d.ts +1 -1
  203. package/dist/tests/harness/vfs/factory.js +4 -4
  204. package/dist/tests/harness/vfs/factory.js.map +1 -1
  205. package/dist/tests/importStatementUtils.test.js +1 -1
  206. package/dist/tests/importStatementUtils.test.js.map +1 -1
  207. package/dist/tests/ipythonMode.test.js +21 -22
  208. package/dist/tests/ipythonMode.test.js.map +1 -1
  209. package/dist/tests/localizer.test.js +2 -2
  210. package/dist/tests/localizer.test.js.map +1 -1
  211. package/dist/tests/serialization.test.d.ts +2 -0
  212. package/dist/tests/serialization.test.js +88 -0
  213. package/dist/tests/serialization.test.js.map +1 -0
  214. package/dist/tests/service.test.js +1 -1
  215. package/dist/tests/service.test.js.map +1 -1
  216. package/dist/tests/signatureHelp.test.js +2 -3
  217. package/dist/tests/signatureHelp.test.js.map +1 -1
  218. package/dist/tests/sourceFile.test.js +3 -3
  219. package/dist/tests/sourceFile.test.js.map +1 -1
  220. package/dist/tests/sourceMapperUtils.test.js +2 -2
  221. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  222. package/dist/tests/testState.test.js +1 -1
  223. package/dist/tests/testState.test.js.map +1 -1
  224. package/dist/tests/testStateUtils.js +2 -2
  225. package/dist/tests/testStateUtils.js.map +1 -1
  226. package/dist/tests/textEditUtil.test.js +1 -2
  227. package/dist/tests/textEditUtil.test.js.map +1 -1
  228. package/dist/tests/typeEvaluator1.test.js +15 -3
  229. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  230. package/dist/tests/typeEvaluator2.test.js +12 -8
  231. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  232. package/dist/tests/typeEvaluator3.test.js +24 -6
  233. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  234. package/dist/tests/typeEvaluator4.test.js +5 -5
  235. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  236. package/dist/tests/typeEvaluator5.test.js +4 -0
  237. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  238. package/dist/tests/uri.test.js +95 -15
  239. package/dist/tests/uri.test.js.map +1 -1
  240. package/dist/tests/workspaceEditUtils.test.js +8 -8
  241. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  242. package/dist/workspaceFactory.d.ts +1 -0
  243. package/dist/workspaceFactory.js +2 -1
  244. package/dist/workspaceFactory.js.map +1 -1
  245. package/package.json +2 -1
@@ -30,7 +30,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
30
30
  return result;
31
31
  };
32
32
  Object.defineProperty(exports, "__esModule", { value: true });
33
- exports.getBackgroundWaiter = exports.run = exports.createConfigOptionsFrom = exports.createJsonObjectFrom = exports.BackgroundThreadBase = exports.BackgroundConsole = void 0;
33
+ exports.getBackgroundWaiter = exports.run = exports.deserialize = exports.deserializeReviver = exports.serialize = exports.serializeReplacer = exports.BackgroundThreadBase = exports.BackgroundConsole = void 0;
34
34
  const worker_threads_1 = require("worker_threads");
35
35
  const cancellationUtils_1 = require("./common/cancellationUtils");
36
36
  const configOptions_1 = require("./common/configOptions");
@@ -60,7 +60,7 @@ class BackgroundConsole {
60
60
  this.post(console_1.LogLevel.Error, msg);
61
61
  }
62
62
  post(level, msg) {
63
- worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.postMessage({ requestType: 'log', data: { level: level, message: msg } });
63
+ worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.postMessage({ requestType: 'log', data: serialize({ level: level, message: msg }) });
64
64
  }
65
65
  }
66
66
  exports.BackgroundConsole = BackgroundConsole;
@@ -85,7 +85,7 @@ class BackgroundThreadBase {
85
85
  return this._serviceProvider.fs();
86
86
  }
87
87
  log(level, msg) {
88
- //parentPort?.postMessage({ requestType: 'log', data: { level: level, message: msg } });
88
+ worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.postMessage({ requestType: 'log', data: serialize({ level: level, message: msg }) });
89
89
  }
90
90
  getConsole() {
91
91
  return this._serviceProvider.console();
@@ -100,65 +100,68 @@ class BackgroundThreadBase {
100
100
  }
101
101
  }
102
102
  exports.BackgroundThreadBase = BackgroundThreadBase;
103
- function createJsonObjectFrom(configOptions) {
104
- return {
105
- ...JSON.parse(JSON.stringify(configOptions)),
106
- defineConstant: configOptions.defineConstant, // This is the only field that can't be stringified.
107
- };
103
+ // Function used to serialize specific types that can't automatically be serialized.
104
+ // Exposed here so it can be reused by a caller that wants to add more cases.
105
+ function serializeReplacer(key, value) {
106
+ if (uri_1.Uri.isUri(value) && value.toJsonObj !== undefined) {
107
+ return { __serialized_uri_val: value.toJsonObj() };
108
+ }
109
+ if (value instanceof Map) {
110
+ return { __serialized_map_val: [...value] };
111
+ }
112
+ if (value instanceof Set) {
113
+ return { __serialized_set_val: [...value] };
114
+ }
115
+ if (value instanceof RegExp) {
116
+ return { __serialized_regexp_val: { source: value.source, flags: value.flags } };
117
+ }
118
+ if (value instanceof configOptions_1.ConfigOptions) {
119
+ const entries = Object.entries(value);
120
+ return { __serialized_config_options: entries.reduce((obj, e, i) => ({ ...obj, [e[0]]: e[1] }), {}) };
121
+ }
122
+ return value;
108
123
  }
109
- exports.createJsonObjectFrom = createJsonObjectFrom;
110
- function createConfigOptionsFrom(jsonObject) {
111
- var _a, _b;
112
- const configOptions = new configOptions_1.ConfigOptions(uri_1.Uri.fromJsonObj(jsonObject.projectRoot));
113
- const getFileSpec = (fileSpec) => {
114
- return {
115
- wildcardRoot: uri_1.Uri.fromJsonObj(fileSpec.wildcardRoot),
116
- regExp: new RegExp(fileSpec.regExp.source, fileSpec.regExp.flags),
117
- hasDirectoryWildcard: fileSpec.hasDirectoryWildcard,
118
- };
119
- };
120
- configOptions.pythonEnvironmentName = jsonObject.pythonEnvironmentName;
121
- configOptions.pythonPath = uri_1.Uri.fromJsonObj(jsonObject.pythonPath);
122
- configOptions.typeshedPath = uri_1.Uri.fromJsonObj(jsonObject.typeshedPath);
123
- configOptions.stubPath = uri_1.Uri.fromJsonObj(jsonObject.stubPath);
124
- configOptions.autoExcludeVenv = jsonObject.autoExcludeVenv;
125
- configOptions.verboseOutput = jsonObject.verboseOutput;
126
- configOptions.defineConstant = new Map(jsonObject.defineConstant);
127
- configOptions.checkOnlyOpenFiles = jsonObject.checkOnlyOpenFiles;
128
- configOptions.useLibraryCodeForTypes = jsonObject.useLibraryCodeForTypes;
129
- configOptions.internalTestMode = jsonObject.internalTestMode;
130
- configOptions.indexGenerationMode = jsonObject.indexGenerationMode;
131
- configOptions.venvPath = uri_1.Uri.fromJsonObj(jsonObject.venvPath);
132
- configOptions.venv = jsonObject.venv;
133
- configOptions.defaultPythonVersion = jsonObject.defaultPythonVersion;
134
- configOptions.defaultPythonPlatform = jsonObject.defaultPythonPlatform;
135
- configOptions.defaultExtraPaths = (_a = jsonObject.defaultExtraPaths) === null || _a === void 0 ? void 0 : _a.map((p) => uri_1.Uri.fromJsonObj(p));
136
- configOptions.diagnosticRuleSet = jsonObject.diagnosticRuleSet;
137
- configOptions.executionEnvironments = (_b = jsonObject.executionEnvironments) === null || _b === void 0 ? void 0 : _b.map((e) => {
138
- var _a;
139
- return {
140
- ...e,
141
- root: uri_1.Uri.fromJsonObj(e.root),
142
- extraPaths: (_a = e.extraPaths) === null || _a === void 0 ? void 0 : _a.map((p) => uri_1.Uri.fromJsonObj(p)),
143
- };
144
- });
145
- configOptions.autoImportCompletions = jsonObject.autoImportCompletions;
146
- configOptions.indexing = jsonObject.indexing;
147
- configOptions.taskListTokens = jsonObject.taskListTokens;
148
- configOptions.logTypeEvaluationTime = jsonObject.logTypeEvaluationTime;
149
- configOptions.typeEvaluationTimeThreshold = jsonObject.typeEvaluationTimeThreshold;
150
- configOptions.include = jsonObject.include.map((f) => getFileSpec(f));
151
- configOptions.exclude = jsonObject.exclude.map((f) => getFileSpec(f));
152
- configOptions.ignore = jsonObject.ignore.map((f) => getFileSpec(f));
153
- configOptions.strict = jsonObject.strict.map((f) => getFileSpec(f));
154
- configOptions.functionSignatureDisplay = jsonObject.functionSignatureDisplay;
155
- return configOptions;
124
+ exports.serializeReplacer = serializeReplacer;
125
+ function serialize(obj) {
126
+ // Convert the object to a string so it can be sent across a message port.
127
+ return JSON.stringify(obj, serializeReplacer);
128
+ }
129
+ exports.serialize = serialize;
130
+ function deserializeReviver(key, value) {
131
+ if (value && typeof value === 'object') {
132
+ if (value.__serialized_uri_val !== undefined) {
133
+ return uri_1.Uri.fromJsonObj(value.__serialized_uri_val);
134
+ }
135
+ if (value.__serialized_map_val) {
136
+ return new Map(value.__serialized_map_val);
137
+ }
138
+ if (value.__serialized_set_val) {
139
+ return new Set(value.__serialized_set_val);
140
+ }
141
+ if (value.__serialized_regexp_val) {
142
+ return new RegExp(value.__serialized_regexp_val.source, value.__serialized_regexp_val.flags);
143
+ }
144
+ if (value.__serialized_config_options) {
145
+ const configOptions = new configOptions_1.ConfigOptions(value.__serialized_config_options.projectRoot);
146
+ Object.assign(configOptions, value.__serialized_config_options);
147
+ return configOptions;
148
+ }
149
+ }
150
+ return value;
151
+ }
152
+ exports.deserializeReviver = deserializeReviver;
153
+ function deserialize(json) {
154
+ if (!json) {
155
+ return undefined;
156
+ }
157
+ // Convert the string back to an object.
158
+ return JSON.parse(json, deserializeReviver);
156
159
  }
157
- exports.createConfigOptionsFrom = createConfigOptionsFrom;
158
- function run(code, port) {
160
+ exports.deserialize = deserialize;
161
+ function run(code, port, serializer = serialize) {
159
162
  try {
160
163
  const result = code();
161
- port.postMessage({ kind: 'ok', data: result });
164
+ port.postMessage({ kind: 'ok', data: serializer(result) });
162
165
  }
163
166
  catch (e) {
164
167
  if (cancellationUtils_1.OperationCanceledException.is(e)) {
@@ -169,12 +172,12 @@ function run(code, port) {
169
172
  }
170
173
  }
171
174
  exports.run = run;
172
- function getBackgroundWaiter(port) {
175
+ function getBackgroundWaiter(port, deserializer = deserialize) {
173
176
  return new Promise((resolve, reject) => {
174
177
  port.on('message', (m) => {
175
178
  switch (m.kind) {
176
179
  case 'ok':
177
- resolve(m.data);
180
+ resolve(deserializer(m.data));
178
181
  break;
179
182
  case 'cancelled':
180
183
  reject(new cancellationUtils_1.OperationCanceledException());
@@ -1 +1 @@
1
- {"version":3,"file":"backgroundThreadBase.js","sourceRoot":"","sources":["../../src/backgroundThreadBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backgroundThreadBase.js","sourceRoot":"","sources":["../../src/backgroundThreadBase.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,mDAA2E;AAE3E,kEAAmG;AACnG,0DAAuD;AACvD,8CAA8D;AAC9D,sDAAwC;AACxC,4DAAiF;AACjF,8DAA2D;AAC3D,8CAA4C;AAC5C,kFAAiE;AACjE,0CAAuC;AAEvC,MAAa,iBAAiB;IAC1B,iEAAiE;IACjE,8CAA8C;IAC9C,IAAI,KAAK;QACL,OAAO,kBAAQ,CAAC,GAAG,CAAC;IACxB,CAAC;IAED,GAAG,CAAC,GAAW;QACX,IAAI,CAAC,IAAI,CAAC,kBAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,CAAC,GAAW;QACZ,IAAI,CAAC,IAAI,CAAC,kBAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,CAAC,GAAW;QACZ,IAAI,CAAC,IAAI,CAAC,kBAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,KAAK,CAAC,GAAW;QACb,IAAI,CAAC,IAAI,CAAC,kBAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;IACS,IAAI,CAAC,KAAe,EAAE,GAAW;QACvC,2BAAU,aAAV,2BAAU,uBAAV,2BAAU,CAAE,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;CACJ;AAtBD,8CAsBC;AAED,MAAa,oBAAoB;IAG7B,YAAsB,IAAwB,EAAE,eAAiC;QAC7E,IAAA,6CAAyB,EAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAEvD,2DAA2D;QAC3D,IAAI,CAAC,gBAAgB,GAAG,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,iCAAe,EAAE,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,uCAAW,CAAC,OAAO,CAAC,EAAE;YACpD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,uCAAW,CAAC,OAAO,EAAE,IAAI,iBAAiB,EAAE,CAAC,CAAC;SAC3E;QACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,uCAAW,CAAC,EAAE,CAAC,EAAE;YAC/C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,uCAAW,CAAC,EAAE,EAAE,IAAA,yCAAwB,EAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;SAC1F;QACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,uCAAW,CAAC,QAAQ,CAAC,EAAE;YACrD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACrB,uCAAW,CAAC,QAAQ,EACpB,IAAI,6BAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAC/D,CAAC;SACL;QAED,mDAAmD;QAClD,MAAc,CAAC,eAAe,GAAG,SAAG,CAAC,KAAK,CACvC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,eAAe,CAC7C,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;IAED,IAAc,EAAE;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;IACtC,CAAC;IAES,GAAG,CAAC,KAAe,EAAE,GAAW;QACtC,2BAAU,aAAV,2BAAU,uBAAV,2BAAU,CAAE,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IAES,UAAU;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IAES,kBAAkB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAES,cAAc;;QACpB,MAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,uCAAW,CAAC,QAAQ,CAAC,0CAAE,OAAO,EAAE,CAAC;QAC9D,2BAAU,aAAV,2BAAU,uBAAV,2BAAU,CAAE,KAAK,EAAE,CAAC;IACxB,CAAC;CACJ;AAhDD,oDAgDC;AAED,oFAAoF;AACpF,6EAA6E;AAC7E,SAAgB,iBAAiB,CAAC,GAAW,EAAE,KAAU;IACrD,IAAI,SAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE;QACnD,OAAO,EAAE,oBAAoB,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;KACtD;IACD,IAAI,KAAK,YAAY,GAAG,EAAE;QACtB,OAAO,EAAE,oBAAoB,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;KAC/C;IACD,IAAI,KAAK,YAAY,GAAG,EAAE;QACtB,OAAO,EAAE,oBAAoB,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;KAC/C;IACD,IAAI,KAAK,YAAY,MAAM,EAAE;QACzB,OAAO,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;KACpF;IACD,IAAI,KAAK,YAAY,6BAAa,EAAE;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,EAAE,2BAA2B,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;KACzG;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAnBD,8CAmBC;AAED,SAAgB,SAAS,CAAC,GAAQ;IAC9B,0EAA0E;IAC1E,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;AAClD,CAAC;AAHD,8BAGC;AAED,SAAgB,kBAAkB,CAAC,GAAW,EAAE,KAAU;IACtD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpC,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,EAAE;YAC1C,OAAO,SAAG,CAAC,WAAW,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACtD;QACD,IAAI,KAAK,CAAC,oBAAoB,EAAE;YAC5B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;SAC9C;QACD,IAAI,KAAK,CAAC,oBAAoB,EAAE;YAC5B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;SAC9C;QACD,IAAI,KAAK,CAAC,uBAAuB,EAAE;YAC/B,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;SAChG;QACD,IAAI,KAAK,CAAC,2BAA2B,EAAE;YACnC,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,KAAK,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;YACvF,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAChE,OAAO,aAAa,CAAC;SACxB;KACJ;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AArBD,gDAqBC;AAED,SAAgB,WAAW,CAAU,IAAmB;IACpD,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,SAAgB,CAAC;KAC3B;IACD,wCAAwC;IACxC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;AAChD,CAAC;AAND,kCAMC;AAMD,SAAgB,GAAG,CAAU,IAAa,EAAE,IAAmB,EAAE,UAAU,GAAG,SAAS;IACnF,IAAI;QACA,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAC9D;IAAC,OAAO,CAAM,EAAE;QACb,IAAI,8CAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAClC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACzD,OAAO;SACV;QAED,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;KACvF;AACL,CAAC;AAZD,kBAYC;AAED,SAAgB,mBAAmB,CAAI,IAAiB,EAAE,YAAY,GAAG,WAAW;IAChF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAkB,EAAE,EAAE;YACtC,QAAQ,CAAC,CAAC,IAAI,EAAE;gBACZ,KAAK,IAAI;oBACL,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC9B,MAAM;gBAEV,KAAK,WAAW;oBACZ,MAAM,CAAC,IAAI,8CAA0B,EAAE,CAAC,CAAC;oBACzC,MAAM;gBAEV,KAAK,QAAQ;oBACT,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACf,MAAM;gBAEV;oBACI,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;aAC5C;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AArBD,kDAqBC"}
@@ -26,7 +26,7 @@ class QuickActionCommand {
26
26
  const editActions = workspace.service.run((p) => {
27
27
  return (0, quickActions_1.performQuickAction)(p, docUri, params.command, otherArgs, token);
28
28
  }, token);
29
- return (0, workspaceEditUtils_1.convertToWorkspaceEdit)((0, workspaceEditUtils_1.convertToFileTextEdits)(docUri, editActions !== null && editActions !== void 0 ? editActions : []));
29
+ return (0, workspaceEditUtils_1.convertToWorkspaceEdit)(workspace.service.fs, (0, workspaceEditUtils_1.convertToFileTextEdits)(docUri, editActions !== null && editActions !== void 0 ? editActions : []));
30
30
  }
31
31
  }
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"quickActionCommand.js","sourceRoot":"","sources":["../../../src/commands/quickActionCommand.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAIH,2CAAwC;AACxC,qEAA8F;AAE9F,kEAAqE;AAIrE,MAAa,kBAAkB;IAC3B,YAAoB,GAA4B;QAA5B,QAAG,GAAH,GAAG,CAAyB;IAAG,CAAC;IAEpD,KAAK,CAAC,OAAO,CAAC,MAA4B,EAAE,KAAwB;QAChE,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YAClD,MAAM,MAAM,GAAG,SAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAW,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1F,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAE7D,IAAI,MAAM,CAAC,OAAO,0DAA0B,IAAI,SAAS,CAAC,sBAAsB,EAAE;gBAC9E,OAAO,EAAE,CAAC;aACb;YAED,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5C,OAAO,IAAA,iCAAkB,EAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC3E,CAAC,EAAE,KAAK,CAAC,CAAC;YAEV,OAAO,IAAA,2CAAsB,EAAC,IAAA,2CAAsB,EAAC,MAAM,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAC,CAAC,CAAC;SACpF;IACL,CAAC;CACJ;AApBD,gDAoBC"}
1
+ {"version":3,"file":"quickActionCommand.js","sourceRoot":"","sources":["../../../src/commands/quickActionCommand.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAIH,2CAAwC;AACxC,qEAA8F;AAE9F,kEAAqE;AAIrE,MAAa,kBAAkB;IAC3B,YAAoB,GAA4B;QAA5B,QAAG,GAAH,GAAG,CAAyB;IAAG,CAAC;IAEpD,KAAK,CAAC,OAAO,CAAC,MAA4B,EAAE,KAAwB;QAChE,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;YAClD,MAAM,MAAM,GAAG,SAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAW,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC1F,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAE7D,IAAI,MAAM,CAAC,OAAO,0DAA0B,IAAI,SAAS,CAAC,sBAAsB,EAAE;gBAC9E,OAAO,EAAE,CAAC;aACb;YAED,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5C,OAAO,IAAA,iCAAkB,EAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC3E,CAAC,EAAE,KAAK,CAAC,CAAC;YAEV,OAAO,IAAA,2CAAsB,EAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,IAAA,2CAAsB,EAAC,MAAM,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAC,CAAC,CAAC;SAC1G;IACL,CAAC;CACJ;AApBD,gDAoBC"}
@@ -1,5 +1,6 @@
1
1
  import { AbstractCancellationTokenSource, Event } from 'vscode-jsonrpc';
2
2
  import { CancellationToken, ResponseError } from 'vscode-languageserver';
3
+ import { Uri } from './uri/uri';
3
4
  export interface CancellationProvider {
4
5
  createCancellationTokenSource(): AbstractCancellationTokenSource;
5
6
  }
@@ -17,13 +18,14 @@ export declare class DefaultCancellationProvider implements CancellationProvider
17
18
  }
18
19
  export declare function getCancellationTokenId(token: CancellationToken): string | undefined;
19
20
  export declare class FileBasedToken implements CancellationToken {
20
- readonly cancellationFilePath: string;
21
21
  private _fs;
22
+ cancellationFilePath: Uri;
22
23
  protected isCancelled: boolean;
23
24
  private _emitter;
24
- constructor(cancellationFilePath: string, _fs: {
25
- statSync(filePath: string): void;
25
+ constructor(cancellationId: string, _fs: {
26
+ statSync(fileUri: Uri): void;
26
27
  });
28
+ get id(): string;
27
29
  get isCancellationRequested(): boolean;
28
30
  get onCancellationRequested(): Event<any>;
29
31
  cancel(): void;
@@ -31,3 +33,4 @@ export declare class FileBasedToken implements CancellationToken {
31
33
  private _disposeEmitter;
32
34
  private _pipeExists;
33
35
  }
36
+ export declare function raceCancellation<T>(token?: CancellationToken, ...promises: Promise<T>[]): Promise<T>;
@@ -7,10 +7,11 @@
7
7
  * Helper methods relating to cancellation.
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.FileBasedToken = exports.getCancellationTokenId = exports.DefaultCancellationProvider = exports.CancelAfter = exports.throwIfCancellationRequested = exports.OperationCanceledException = exports.setCancellationFolderName = exports.getCancellationFolderName = void 0;
10
+ exports.raceCancellation = exports.FileBasedToken = exports.getCancellationTokenId = exports.DefaultCancellationProvider = exports.CancelAfter = exports.throwIfCancellationRequested = exports.OperationCanceledException = exports.setCancellationFolderName = exports.getCancellationFolderName = void 0;
11
11
  const vscode_jsonrpc_1 = require("vscode-jsonrpc");
12
12
  const vscode_languageserver_1 = require("vscode-languageserver");
13
13
  const core_1 = require("./core");
14
+ const uri_1 = require("./uri/uri");
14
15
  let cancellationFolderName;
15
16
  function getCancellationFolderName() {
16
17
  return cancellationFolderName;
@@ -61,15 +62,17 @@ class DefaultCancellationProvider {
61
62
  }
62
63
  exports.DefaultCancellationProvider = DefaultCancellationProvider;
63
64
  function getCancellationTokenId(token) {
64
- return token instanceof FileBasedToken ? token.cancellationFilePath : undefined;
65
+ return token instanceof FileBasedToken ? token.id : undefined;
65
66
  }
66
67
  exports.getCancellationTokenId = getCancellationTokenId;
67
68
  class FileBasedToken {
68
- constructor(cancellationFilePath, _fs) {
69
- this.cancellationFilePath = cancellationFilePath;
69
+ constructor(cancellationId, _fs) {
70
70
  this._fs = _fs;
71
71
  this.isCancelled = false;
72
- // empty
72
+ this.cancellationFilePath = uri_1.Uri.file(cancellationId);
73
+ }
74
+ get id() {
75
+ return this.cancellationFilePath.toString();
73
76
  }
74
77
  get isCancellationRequested() {
75
78
  if (this.isCancelled) {
@@ -137,4 +140,25 @@ class CancellationThrottle {
137
140
  }
138
141
  }
139
142
  CancellationThrottle._lastCheckTimestamp = 0;
143
+ async function raceCancellation(token, ...promises) {
144
+ if (!token) {
145
+ return Promise.race(promises);
146
+ }
147
+ if (token.isCancellationRequested) {
148
+ throw new OperationCanceledException();
149
+ }
150
+ return new Promise((resolve, reject) => {
151
+ if (token.isCancellationRequested) {
152
+ return reject(new OperationCanceledException());
153
+ }
154
+ const disposable = token.onCancellationRequested(() => {
155
+ disposable.dispose();
156
+ reject(new OperationCanceledException());
157
+ });
158
+ Promise.race(promises)
159
+ .then(resolve, reject)
160
+ .finally(() => disposable.dispose());
161
+ });
162
+ }
163
+ exports.raceCancellation = raceCancellation;
140
164
  //# sourceMappingURL=cancellationUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cancellationUtils.js","sourceRoot":"","sources":["../../../src/common/cancellationUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cancellationUtils.js","sourceRoot":"","sources":["../../../src/common/cancellationUtils.ts"],"names":[],"mappings":"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"}
@@ -43,5 +43,6 @@ export declare class CommandLineOptions {
43
43
  typeEvaluationTimeThreshold: number;
44
44
  enableAmbientAnalysis: boolean;
45
45
  analyzeUnannotatedFunctions?: boolean;
46
+ disableTaggedHints?: boolean;
46
47
  constructor(executionRoot: string, fromVsCodeExtension: boolean);
47
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commandLineOptions.js","sourceRoot":"","sources":["../../../src/common/commandLineOptions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAKH,IAAkB,2BAKjB;AALD,WAAkB,2BAA2B;IACzC,8CAAe,CAAA;IACf,kDAAmB,CAAA;IACnB,0DAA2B,CAAA;IAC3B,4CAAa,CAAA;AACjB,CAAC,EALiB,2BAA2B,2CAA3B,2BAA2B,QAK5C;AAED,SAAgB,8BAA8B;IAC1C,OAAO;;;;;KAKN,CAAC;AACN,CAAC;AAPD,wEAOC;AAID,kFAAkF;AAClF,kFAAkF;AAClF,iFAAiF;AACjF,yFAAyF;AACzF,MAAa,kBAAkB;IAiH3B,YAAY,aAAqB,EAAE,mBAA4B;QAhH/D,+DAA+D;QAC/D,uEAAuE;QACvE,gBAAgB;QAChB,qBAAgB,GAAa,EAAE,CAAC;QAQhC,+DAA+D;QAC/D,uEAAuE;QACvE,gBAAgB;QAChB,qBAAgB,GAAa,EAAE,CAAC;QAEhC,wEAAwE;QACxE,oEAAoE;QACpE,oBAAe,GAAa,EAAE,CAAC;QAkF/B,oCAAoC;QACpC,0BAAqB,GAAG,KAAK,CAAC;QAE9B,2CAA2C;QAC3C,gCAA2B,GAAG,EAAE,CAAC;QAEjC,wBAAwB;QACxB,0BAAqB,GAAG,IAAI,CAAC;QAMzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACnD,CAAC;CACJ;AArHD,gDAqHC"}
1
+ {"version":3,"file":"commandLineOptions.js","sourceRoot":"","sources":["../../../src/common/commandLineOptions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAKH,IAAkB,2BAKjB;AALD,WAAkB,2BAA2B;IACzC,8CAAe,CAAA;IACf,kDAAmB,CAAA;IACnB,0DAA2B,CAAA;IAC3B,4CAAa,CAAA;AACjB,CAAC,EALiB,2BAA2B,2CAA3B,2BAA2B,QAK5C;AAED,SAAgB,8BAA8B;IAC1C,OAAO;;;;;KAKN,CAAC;AACN,CAAC;AAPD,wEAOC;AAID,kFAAkF;AAClF,kFAAkF;AAClF,iFAAiF;AACjF,yFAAyF;AACzF,MAAa,kBAAkB;IAoH3B,YAAY,aAAqB,EAAE,mBAA4B;QAnH/D,+DAA+D;QAC/D,uEAAuE;QACvE,gBAAgB;QAChB,qBAAgB,GAAa,EAAE,CAAC;QAQhC,+DAA+D;QAC/D,uEAAuE;QACvE,gBAAgB;QAChB,qBAAgB,GAAa,EAAE,CAAC;QAEhC,wEAAwE;QACxE,oEAAoE;QACpE,oBAAe,GAAa,EAAE,CAAC;QAkF/B,oCAAoC;QACpC,0BAAqB,GAAG,KAAK,CAAC;QAE9B,2CAA2C;QAC3C,gCAA2B,GAAG,EAAE,CAAC;QAEjC,wBAAwB;QACxB,0BAAqB,GAAG,IAAI,CAAC;QASzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACnD,CAAC;CACJ;AAxHD,gDAwHC"}
@@ -0,0 +1,2 @@
1
+ import { Command } from 'vscode-languageserver-types';
2
+ export declare function createCommand(title: string, command: string, ...args: any[]): Command;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /*
3
+ * commandUtils.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ *
7
+ * Utilities for working with LSP commands.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.createCommand = void 0;
11
+ const vscode_languageserver_types_1 = require("vscode-languageserver-types");
12
+ const uri_1 = require("./uri/uri");
13
+ function createCommand(title, command, ...args) {
14
+ // Make sure if any of the args are URIs, we convert them to strings.
15
+ const convertedArgs = args.map((arg) => {
16
+ if (uri_1.Uri.isUri(arg)) {
17
+ return arg.toString();
18
+ }
19
+ return arg;
20
+ });
21
+ return vscode_languageserver_types_1.Command.create(title, command, ...convertedArgs);
22
+ }
23
+ exports.createCommand = createCommand;
24
+ //# sourceMappingURL=commandUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandUtils.js","sourceRoot":"","sources":["../../../src/common/commandUtils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,6EAAsD;AACtD,mCAAgC;AAEhC,SAAgB,aAAa,CAAC,KAAa,EAAE,OAAe,EAAE,GAAG,IAAW;IACxE,qEAAqE;IACrE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,IAAI,SAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAChB,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;SACzB;QACD,OAAO,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,qCAAO,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,CAAC;AAC5D,CAAC;AATD,sCASC"}
@@ -136,6 +136,7 @@ export declare class ConfigOptions {
136
136
  typeEvaluationTimeThreshold: number;
137
137
  typeCheckingMode?: string;
138
138
  initializedFromJson: boolean;
139
+ disableTaggedHints: boolean;
139
140
  diagnosticRuleSet: DiagnosticRuleSet;
140
141
  taskListTokens?: TaskListToken[] | undefined;
141
142
  executionEnvironments: ExecutionEnvironment[];
@@ -545,6 +545,8 @@ class ConfigOptions {
545
545
  this.typeEvaluationTimeThreshold = 50;
546
546
  // Was this config initialized from JSON (pyrightconfig/pyproject)?
547
547
  this.initializedFromJson = false;
548
+ // Filter out any hint diagnostics with tags?
549
+ this.disableTaggedHints = false;
548
550
  //---------------------------------------------------------------
549
551
  // Parsing and Import Resolution Settings
550
552
  // Parameters that specify the execution environment for
@@ -577,7 +579,7 @@ class ConfigOptions {
577
579
  findExecEnvironment(file) {
578
580
  var _a;
579
581
  return ((_a = this.executionEnvironments.find((env) => {
580
- const envRoot = uri_1.Uri.isUri(env.root) ? env.root : this.projectRoot.combinePaths(env.root || '');
582
+ const envRoot = uri_1.Uri.isUri(env.root) ? env.root : this.projectRoot.resolvePaths(env.root || '');
581
583
  return file.startsWith(envRoot);
582
584
  })) !== null && _a !== void 0 ? _a : this.getDefaultExecEnvironment());
583
585
  }
@@ -718,7 +720,7 @@ class ConfigOptions {
718
720
  console.error(`Config "venvPath" field must contain a string.`);
719
721
  }
720
722
  else {
721
- this.venvPath = this.projectRoot.combinePaths(configObj.venvPath);
723
+ this.venvPath = this.projectRoot.resolvePaths(configObj.venvPath);
722
724
  }
723
725
  }
724
726
  // Read the "venv" name.
@@ -744,7 +746,7 @@ class ConfigOptions {
744
746
  console.error(`Config "extraPaths" field ${pathIndex} must be a string.`);
745
747
  }
746
748
  else {
747
- this.defaultExtraPaths.push(this.projectRoot.combinePaths(path));
749
+ this.defaultExtraPaths.push(this.projectRoot.resolvePaths(path));
748
750
  }
749
751
  });
750
752
  }
@@ -783,7 +785,7 @@ class ConfigOptions {
783
785
  }
784
786
  else {
785
787
  this.typeshedPath = configObj.typeshedPath
786
- ? this.projectRoot.combinePaths(configObj.typeshedPath)
788
+ ? this.projectRoot.resolvePaths(configObj.typeshedPath)
787
789
  : undefined;
788
790
  }
789
791
  }
@@ -796,7 +798,7 @@ class ConfigOptions {
796
798
  }
797
799
  else {
798
800
  console.error(`Config "typingsPath" is now deprecated. Please, use stubPath instead.`);
799
- this.stubPath = this.projectRoot.combinePaths(configObj.typingsPath);
801
+ this.stubPath = this.projectRoot.resolvePaths(configObj.typingsPath);
800
802
  }
801
803
  }
802
804
  if (configObj.stubPath !== undefined) {
@@ -804,7 +806,7 @@ class ConfigOptions {
804
806
  console.error(`Config "stubPath" field must contain a string.`);
805
807
  }
806
808
  else {
807
- this.stubPath = this.projectRoot.combinePaths(configObj.stubPath);
809
+ this.stubPath = this.projectRoot.resolvePaths(configObj.stubPath);
808
810
  }
809
811
  }
810
812
  // Read the "verboseOutput" setting.
@@ -942,14 +944,14 @@ class ConfigOptions {
942
944
  const paths = [];
943
945
  if (autoSearchPaths) {
944
946
  // Auto-detect the common scenario where the sources are under the src folder
945
- const srcPath = this.projectRoot.combinePaths(pathConsts.src);
946
- if (fs.existsSync(srcPath) && !fs.existsSync(srcPath.combinePaths('__init__.py'))) {
947
+ const srcPath = this.projectRoot.resolvePaths(pathConsts.src);
948
+ if (fs.existsSync(srcPath) && !fs.existsSync(srcPath.resolvePaths('__init__.py'))) {
947
949
  paths.push(fs.realCasePath(srcPath));
948
950
  }
949
951
  }
950
952
  if (extraPaths && extraPaths.length > 0) {
951
953
  for (const p of extraPaths) {
952
- const path = this.projectRoot.combinePaths(p);
954
+ const path = this.projectRoot.resolvePaths(p);
953
955
  paths.push(fs.realCasePath(path));
954
956
  if ((0, uriUtils_1.isDirectory)(fs, path)) {
955
957
  (0, collectionUtils_1.appendArray)(paths, (0, pythonPathUtils_1.getPathsFromPthFiles)(fs, path));
@@ -1005,7 +1007,7 @@ class ConfigOptions {
1005
1007
  const newExecEnv = new ExecutionEnvironment(this._getEnvironmentName(), this.projectRoot, this.defaultPythonVersion, this.defaultPythonPlatform, this.defaultExtraPaths);
1006
1008
  // Validate the root.
1007
1009
  if (envObj.root && typeof envObj.root === 'string') {
1008
- newExecEnv.root = this.projectRoot.combinePaths(envObj.root);
1010
+ newExecEnv.root = this.projectRoot.resolvePaths(envObj.root);
1009
1011
  }
1010
1012
  else {
1011
1013
  console.error(`Config executionEnvironments index ${index}: missing root value.`);
@@ -1023,7 +1025,7 @@ class ConfigOptions {
1023
1025
  ` extraPaths field ${pathIndex} must be a string.`);
1024
1026
  }
1025
1027
  else {
1026
- newExecEnv.extraPaths.push(this.projectRoot.combinePaths(path));
1028
+ newExecEnv.extraPaths.push(this.projectRoot.resolvePaths(path));
1027
1029
  }
1028
1030
  });
1029
1031
  }