@zzzen/pyright-internal 1.2.0-dev.20231126 → 1.2.0-dev.20231210

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 (383) hide show
  1. package/dist/analyzer/analyzerFileInfo.d.ts +4 -3
  2. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  3. package/dist/analyzer/backgroundAnalysisProgram.d.ts +15 -14
  4. package/dist/analyzer/backgroundAnalysisProgram.js +38 -38
  5. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  6. package/dist/analyzer/binder.js +59 -52
  7. package/dist/analyzer/binder.js.map +1 -1
  8. package/dist/analyzer/checker.d.ts +4 -1
  9. package/dist/analyzer/checker.js +189 -42
  10. package/dist/analyzer/checker.js.map +1 -1
  11. package/dist/analyzer/circularDependency.d.ts +3 -2
  12. package/dist/analyzer/circularDependency.js.map +1 -1
  13. package/dist/analyzer/codeFlowEngine.js +36 -36
  14. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  15. package/dist/analyzer/commentUtils.js +7 -0
  16. package/dist/analyzer/commentUtils.js.map +1 -1
  17. package/dist/analyzer/constraintSolver.js +14 -5
  18. package/dist/analyzer/constraintSolver.js.map +1 -1
  19. package/dist/analyzer/constructors.js +2 -1
  20. package/dist/analyzer/constructors.js.map +1 -1
  21. package/dist/analyzer/dataClasses.js +58 -47
  22. package/dist/analyzer/dataClasses.js.map +1 -1
  23. package/dist/analyzer/declaration.d.ts +5 -3
  24. package/dist/analyzer/declaration.js +3 -2
  25. package/dist/analyzer/declaration.js.map +1 -1
  26. package/dist/analyzer/declarationUtils.d.ts +3 -2
  27. package/dist/analyzer/declarationUtils.js +14 -12
  28. package/dist/analyzer/declarationUtils.js.map +1 -1
  29. package/dist/analyzer/enums.js +1 -1
  30. package/dist/analyzer/enums.js.map +1 -1
  31. package/dist/analyzer/importResolver.d.ts +29 -25
  32. package/dist/analyzer/importResolver.js +300 -301
  33. package/dist/analyzer/importResolver.js.map +1 -1
  34. package/dist/analyzer/importResult.d.ts +5 -4
  35. package/dist/analyzer/importResult.js.map +1 -1
  36. package/dist/analyzer/importStatementUtils.d.ts +5 -4
  37. package/dist/analyzer/importStatementUtils.js +23 -22
  38. package/dist/analyzer/importStatementUtils.js.map +1 -1
  39. package/dist/analyzer/namedTuples.js +3 -3
  40. package/dist/analyzer/namedTuples.js.map +1 -1
  41. package/dist/analyzer/operations.js +16 -14
  42. package/dist/analyzer/operations.js.map +1 -1
  43. package/dist/analyzer/packageTypeReport.d.ts +7 -6
  44. package/dist/analyzer/packageTypeReport.js +4 -4
  45. package/dist/analyzer/packageTypeReport.js.map +1 -1
  46. package/dist/analyzer/packageTypeVerifier.js +68 -64
  47. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  48. package/dist/analyzer/parentDirectoryCache.d.ts +7 -6
  49. package/dist/analyzer/parentDirectoryCache.js +9 -10
  50. package/dist/analyzer/parentDirectoryCache.js.map +1 -1
  51. package/dist/analyzer/parseTreeUtils.d.ts +1 -1
  52. package/dist/analyzer/parseTreeUtils.js +6 -3
  53. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  54. package/dist/analyzer/patternMatching.js +79 -14
  55. package/dist/analyzer/patternMatching.js.map +1 -1
  56. package/dist/analyzer/program.d.ts +27 -26
  57. package/dist/analyzer/program.js +162 -156
  58. package/dist/analyzer/program.js.map +1 -1
  59. package/dist/analyzer/properties.js +3 -3
  60. package/dist/analyzer/properties.js.map +1 -1
  61. package/dist/analyzer/protocols.js +27 -13
  62. package/dist/analyzer/protocols.js.map +1 -1
  63. package/dist/analyzer/pyTypedUtils.d.ts +3 -2
  64. package/dist/analyzer/pyTypedUtils.js +4 -5
  65. package/dist/analyzer/pyTypedUtils.js.map +1 -1
  66. package/dist/analyzer/pythonPathUtils.d.ts +7 -6
  67. package/dist/analyzer/pythonPathUtils.js +21 -23
  68. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  69. package/dist/analyzer/service.d.ts +24 -23
  70. package/dist/analyzer/service.js +187 -183
  71. package/dist/analyzer/service.js.map +1 -1
  72. package/dist/analyzer/sourceFile.d.ts +4 -5
  73. package/dist/analyzer/sourceFile.js +68 -56
  74. package/dist/analyzer/sourceFile.js.map +1 -1
  75. package/dist/analyzer/sourceFileInfoUtils.js +3 -3
  76. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  77. package/dist/analyzer/sourceMapper.d.ts +11 -10
  78. package/dist/analyzer/sourceMapper.js +59 -62
  79. package/dist/analyzer/sourceMapper.js.map +1 -1
  80. package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
  81. package/dist/analyzer/sourceMapperUtils.js +2 -2
  82. package/dist/analyzer/sourceMapperUtils.js.map +1 -1
  83. package/dist/analyzer/tracePrinter.d.ts +3 -2
  84. package/dist/analyzer/tracePrinter.js +21 -23
  85. package/dist/analyzer/tracePrinter.js.map +1 -1
  86. package/dist/analyzer/typeDocStringUtils.d.ts +2 -1
  87. package/dist/analyzer/typeDocStringUtils.js +14 -17
  88. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  89. package/dist/analyzer/typeEvaluator.js +298 -231
  90. package/dist/analyzer/typeEvaluator.js.map +1 -1
  91. package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -1
  92. package/dist/analyzer/typeEvaluatorTypes.js +1 -1
  93. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  94. package/dist/analyzer/typeGuards.js +3 -3
  95. package/dist/analyzer/typeGuards.js.map +1 -1
  96. package/dist/analyzer/typePrinter.d.ts +2 -0
  97. package/dist/analyzer/typePrinter.js +48 -8
  98. package/dist/analyzer/typePrinter.js.map +1 -1
  99. package/dist/analyzer/typeStubWriter.d.ts +2 -1
  100. package/dist/analyzer/typeStubWriter.js +2 -2
  101. package/dist/analyzer/typeStubWriter.js.map +1 -1
  102. package/dist/analyzer/typeUtils.d.ts +5 -3
  103. package/dist/analyzer/typeUtils.js +32 -17
  104. package/dist/analyzer/typeUtils.js.map +1 -1
  105. package/dist/analyzer/typeVarContext.d.ts +2 -0
  106. package/dist/analyzer/typeVarContext.js +27 -0
  107. package/dist/analyzer/typeVarContext.js.map +1 -1
  108. package/dist/analyzer/typedDicts.js +6 -36
  109. package/dist/analyzer/typedDicts.js.map +1 -1
  110. package/dist/analyzer/types.d.ts +8 -12
  111. package/dist/analyzer/types.js +13 -20
  112. package/dist/analyzer/types.js.map +1 -1
  113. package/dist/backgroundAnalysis.d.ts +1 -2
  114. package/dist/backgroundAnalysis.js +6 -4
  115. package/dist/backgroundAnalysis.js.map +1 -1
  116. package/dist/backgroundAnalysisBase.d.ts +22 -20
  117. package/dist/backgroundAnalysisBase.js +76 -55
  118. package/dist/backgroundAnalysisBase.js.map +1 -1
  119. package/dist/backgroundThreadBase.d.ts +1 -1
  120. package/dist/backgroundThreadBase.js +20 -11
  121. package/dist/backgroundThreadBase.js.map +1 -1
  122. package/dist/commands/commandController.js +1 -2
  123. package/dist/commands/commandController.js.map +1 -1
  124. package/dist/commands/commands.d.ts +0 -1
  125. package/dist/commands/commands.js +0 -1
  126. package/dist/commands/commands.js.map +1 -1
  127. package/dist/commands/createTypeStub.js +3 -2
  128. package/dist/commands/createTypeStub.js.map +1 -1
  129. package/dist/commands/dumpFileDebugInfoCommand.js +21 -20
  130. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  131. package/dist/commands/quickActionCommand.js +5 -5
  132. package/dist/commands/quickActionCommand.js.map +1 -1
  133. package/dist/common/configOptions.d.ts +15 -13
  134. package/dist/common/configOptions.js +120 -30
  135. package/dist/common/configOptions.js.map +1 -1
  136. package/dist/common/diagnostic.d.ts +6 -9
  137. package/dist/common/diagnostic.js +2 -2
  138. package/dist/common/diagnostic.js.map +1 -1
  139. package/dist/common/diagnosticSink.d.ts +2 -1
  140. package/dist/common/diagnosticSink.js.map +1 -1
  141. package/dist/common/editAction.d.ts +6 -5
  142. package/dist/common/editAction.js +2 -2
  143. package/dist/common/editAction.js.map +1 -1
  144. package/dist/common/envVarUtils.d.ts +2 -1
  145. package/dist/common/envVarUtils.js +20 -28
  146. package/dist/common/envVarUtils.js.map +1 -1
  147. package/dist/common/extensibility.d.ts +19 -19
  148. package/dist/common/extensibility.js.map +1 -1
  149. package/dist/common/fileSystem.d.ts +29 -28
  150. package/dist/common/fileWatcher.d.ts +3 -2
  151. package/dist/common/fileWatcher.js.map +1 -1
  152. package/dist/common/fullAccessHost.d.ts +8 -7
  153. package/dist/common/fullAccessHost.js +21 -16
  154. package/dist/common/fullAccessHost.js.map +1 -1
  155. package/dist/common/host.d.ts +7 -6
  156. package/dist/common/host.js +1 -1
  157. package/dist/common/host.js.map +1 -1
  158. package/dist/common/logTracker.d.ts +2 -1
  159. package/dist/common/logTracker.js +4 -4
  160. package/dist/common/logTracker.js.map +1 -1
  161. package/dist/common/pathUtils.d.ts +1 -28
  162. package/dist/common/pathUtils.js +17 -366
  163. package/dist/common/pathUtils.js.map +1 -1
  164. package/dist/common/realFileSystem.d.ts +7 -3
  165. package/dist/common/realFileSystem.js +78 -60
  166. package/dist/common/realFileSystem.js.map +1 -1
  167. package/dist/common/serviceProviderExtensions.d.ts +2 -1
  168. package/dist/common/serviceProviderExtensions.js +5 -2
  169. package/dist/common/serviceProviderExtensions.js.map +1 -1
  170. package/dist/common/textEditTracker.d.ts +2 -1
  171. package/dist/common/textEditTracker.js +28 -28
  172. package/dist/common/textEditTracker.js.map +1 -1
  173. package/dist/common/textRange.d.ts +2 -1
  174. package/dist/common/textRange.js.map +1 -1
  175. package/dist/common/uri/baseUri.d.ts +51 -0
  176. package/dist/common/uri/baseUri.js +194 -0
  177. package/dist/common/uri/baseUri.js.map +1 -0
  178. package/dist/common/uri/emptyUri.d.ts +32 -0
  179. package/dist/common/uri/emptyUri.js +122 -0
  180. package/dist/common/uri/emptyUri.js.map +1 -0
  181. package/dist/common/uri/fileUri.d.ts +36 -0
  182. package/dist/common/uri/fileUri.js +180 -0
  183. package/dist/common/uri/fileUri.js.map +1 -0
  184. package/dist/common/uri/memoization.d.ts +3 -0
  185. package/dist/common/uri/memoization.js +72 -0
  186. package/dist/common/uri/memoization.js.map +1 -0
  187. package/dist/common/uri/uri.d.ts +50 -0
  188. package/dist/common/uri/uri.js +104 -0
  189. package/dist/common/uri/uri.js.map +1 -0
  190. package/dist/common/uri/uriUtils.d.ts +39 -0
  191. package/dist/common/uri/uriUtils.js +362 -0
  192. package/dist/common/uri/uriUtils.js.map +1 -0
  193. package/dist/common/uri/webUri.d.ts +36 -0
  194. package/dist/common/uri/webUri.js +207 -0
  195. package/dist/common/uri/webUri.js.map +1 -0
  196. package/dist/common/workspaceEditUtils.d.ts +8 -8
  197. package/dist/common/workspaceEditUtils.js +34 -37
  198. package/dist/common/workspaceEditUtils.js.map +1 -1
  199. package/dist/languageServerBase.d.ts +19 -22
  200. package/dist/languageServerBase.js +91 -95
  201. package/dist/languageServerBase.js.map +1 -1
  202. package/dist/languageService/analyzerServiceExecutor.d.ts +2 -1
  203. package/dist/languageService/analyzerServiceExecutor.js +14 -16
  204. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  205. package/dist/languageService/autoImporter.d.ts +11 -9
  206. package/dist/languageService/autoImporter.js +45 -44
  207. package/dist/languageService/autoImporter.js.map +1 -1
  208. package/dist/languageService/callHierarchyProvider.d.ts +3 -2
  209. package/dist/languageService/callHierarchyProvider.js +23 -35
  210. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  211. package/dist/languageService/codeActionProvider.d.ts +2 -1
  212. package/dist/languageService/codeActionProvider.js +8 -24
  213. package/dist/languageService/codeActionProvider.js.map +1 -1
  214. package/dist/languageService/completionProvider.d.ts +7 -6
  215. package/dist/languageService/completionProvider.js +32 -30
  216. package/dist/languageService/completionProvider.js.map +1 -1
  217. package/dist/languageService/completionProviderUtils.d.ts +2 -1
  218. package/dist/languageService/completionProviderUtils.js +1 -1
  219. package/dist/languageService/completionProviderUtils.js.map +1 -1
  220. package/dist/languageService/definitionProvider.d.ts +4 -3
  221. package/dist/languageService/definitionProvider.js +26 -24
  222. package/dist/languageService/definitionProvider.js.map +1 -1
  223. package/dist/languageService/documentHighlightProvider.d.ts +3 -2
  224. package/dist/languageService/documentHighlightProvider.js +3 -3
  225. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  226. package/dist/languageService/documentSymbolCollector.js +8 -7
  227. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  228. package/dist/languageService/documentSymbolProvider.d.ts +5 -4
  229. package/dist/languageService/documentSymbolProvider.js +9 -11
  230. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  231. package/dist/languageService/hoverProvider.d.ts +4 -3
  232. package/dist/languageService/hoverProvider.js +6 -5
  233. package/dist/languageService/hoverProvider.js.map +1 -1
  234. package/dist/languageService/navigationUtils.d.ts +2 -1
  235. package/dist/languageService/navigationUtils.js +2 -3
  236. package/dist/languageService/navigationUtils.js.map +1 -1
  237. package/dist/languageService/quickActions.d.ts +2 -2
  238. package/dist/languageService/quickActions.js +3 -83
  239. package/dist/languageService/quickActions.js.map +1 -1
  240. package/dist/languageService/referencesProvider.d.ts +10 -9
  241. package/dist/languageService/referencesProvider.js +28 -28
  242. package/dist/languageService/referencesProvider.js.map +1 -1
  243. package/dist/languageService/renameProvider.d.ts +4 -3
  244. package/dist/languageService/renameProvider.js +17 -18
  245. package/dist/languageService/renameProvider.js.map +1 -1
  246. package/dist/languageService/signatureHelpProvider.d.ts +3 -2
  247. package/dist/languageService/signatureHelpProvider.js +4 -4
  248. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  249. package/dist/languageService/symbolIndexer.d.ts +2 -1
  250. package/dist/languageService/symbolIndexer.js +1 -1
  251. package/dist/languageService/symbolIndexer.js.map +1 -1
  252. package/dist/languageService/tooltipUtils.js +10 -4
  253. package/dist/languageService/tooltipUtils.js.map +1 -1
  254. package/dist/languageService/workspaceSymbolProvider.d.ts +4 -3
  255. package/dist/languageService/workspaceSymbolProvider.js +10 -11
  256. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  257. package/dist/localization/localize.d.ts +13 -9
  258. package/dist/localization/localize.js +7 -4
  259. package/dist/localization/localize.js.map +1 -1
  260. package/dist/localization/package.nls.cs.json +0 -4
  261. package/dist/localization/package.nls.de.json +0 -4
  262. package/dist/localization/package.nls.en-us.json +9 -6
  263. package/dist/localization/package.nls.es.json +2 -6
  264. package/dist/localization/package.nls.fr.json +0 -4
  265. package/dist/localization/package.nls.it.json +0 -4
  266. package/dist/localization/package.nls.ja.json +0 -4
  267. package/dist/localization/package.nls.ko.json +0 -4
  268. package/dist/localization/package.nls.pl.json +0 -4
  269. package/dist/localization/package.nls.pt-br.json +0 -4
  270. package/dist/localization/package.nls.qps-ploc.json +0 -4
  271. package/dist/localization/package.nls.ru.json +0 -4
  272. package/dist/localization/package.nls.tr.json +0 -4
  273. package/dist/localization/package.nls.zh-cn.json +0 -4
  274. package/dist/localization/package.nls.zh-tw.json +0 -4
  275. package/dist/pyright.js +18 -17
  276. package/dist/pyright.js.map +1 -1
  277. package/dist/pyrightFileSystem.d.ts +13 -13
  278. package/dist/pyrightFileSystem.js +39 -44
  279. package/dist/pyrightFileSystem.js.map +1 -1
  280. package/dist/readonlyAugmentedFileSystem.d.ts +29 -28
  281. package/dist/readonlyAugmentedFileSystem.js +68 -61
  282. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  283. package/dist/server.js +22 -21
  284. package/dist/server.js.map +1 -1
  285. package/dist/tests/chainedSourceFiles.test.js +39 -30
  286. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  287. package/dist/tests/checker.test.js +38 -29
  288. package/dist/tests/checker.test.js.map +1 -1
  289. package/dist/tests/completions.test.js +7 -3
  290. package/dist/tests/completions.test.js.map +1 -1
  291. package/dist/tests/config.test.js +24 -22
  292. package/dist/tests/config.test.js.map +1 -1
  293. package/dist/tests/documentSymbolCollector.test.js +3 -2
  294. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  295. package/dist/tests/filesystem.test.js +37 -35
  296. package/dist/tests/filesystem.test.js.map +1 -1
  297. package/dist/tests/fourSlashParser.test.js +4 -4
  298. package/dist/tests/fourSlashParser.test.js.map +1 -1
  299. package/dist/tests/fourslash/fourslash.d.ts +1 -2
  300. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +27 -11
  301. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
  302. package/dist/tests/harness/fourslash/fourSlashParser.js +2 -2
  303. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  304. package/dist/tests/harness/fourslash/testLanguageService.d.ts +4 -5
  305. package/dist/tests/harness/fourslash/testLanguageService.js +9 -15
  306. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  307. package/dist/tests/harness/fourslash/testState.Consts.d.ts +1 -2
  308. package/dist/tests/harness/fourslash/testState.Consts.js +0 -1
  309. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  310. package/dist/tests/harness/fourslash/testState.d.ts +4 -4
  311. package/dist/tests/harness/fourslash/testState.js +92 -52
  312. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  313. package/dist/tests/harness/testAccessHost.d.ts +3 -2
  314. package/dist/tests/harness/testAccessHost.js +2 -1
  315. package/dist/tests/harness/testAccessHost.js.map +1 -1
  316. package/dist/tests/harness/testHost.js +13 -11
  317. package/dist/tests/harness/testHost.js.map +1 -1
  318. package/dist/tests/harness/vfs/factory.d.ts +3 -2
  319. package/dist/tests/harness/vfs/factory.js +5 -4
  320. package/dist/tests/harness/vfs/factory.js.map +1 -1
  321. package/dist/tests/harness/vfs/filesystem.d.ts +32 -31
  322. package/dist/tests/harness/vfs/filesystem.js +47 -49
  323. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  324. package/dist/tests/harness/vfs/pathValidation.js +1 -10
  325. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  326. package/dist/tests/importResolver.test.js +81 -58
  327. package/dist/tests/importResolver.test.js.map +1 -1
  328. package/dist/tests/importStatementUtils.test.js +10 -9
  329. package/dist/tests/importStatementUtils.test.js.map +1 -1
  330. package/dist/tests/ipythonMode.test.js +12 -11
  331. package/dist/tests/ipythonMode.test.js.map +1 -1
  332. package/dist/tests/logger.test.js +2 -1
  333. package/dist/tests/logger.test.js.map +1 -1
  334. package/dist/tests/parseTreeUtils.test.js +2 -1
  335. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  336. package/dist/tests/pathUtils.test.js +3 -138
  337. package/dist/tests/pathUtils.test.js.map +1 -1
  338. package/dist/tests/pyrightFileSystem.test.js +76 -25
  339. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  340. package/dist/tests/service.test.js +37 -42
  341. package/dist/tests/service.test.js.map +1 -1
  342. package/dist/tests/signatureHelp.test.js +3 -2
  343. package/dist/tests/signatureHelp.test.js.map +1 -1
  344. package/dist/tests/sourceFile.test.js +8 -7
  345. package/dist/tests/sourceFile.test.js.map +1 -1
  346. package/dist/tests/sourceMapperUtils.test.js +13 -6
  347. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  348. package/dist/tests/testState.test.js +13 -9
  349. package/dist/tests/testState.test.js.map +1 -1
  350. package/dist/tests/testStateUtils.d.ts +2 -5
  351. package/dist/tests/testStateUtils.js +27 -64
  352. package/dist/tests/testStateUtils.js.map +1 -1
  353. package/dist/tests/testUtils.d.ts +3 -5
  354. package/dist/tests/testUtils.js +15 -64
  355. package/dist/tests/testUtils.js.map +1 -1
  356. package/dist/tests/textEditUtil.test.js +4 -3
  357. package/dist/tests/textEditUtil.test.js.map +1 -1
  358. package/dist/tests/typeEvaluator1.test.js +23 -19
  359. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  360. package/dist/tests/typeEvaluator2.test.js +21 -12
  361. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  362. package/dist/tests/typeEvaluator3.test.js +84 -70
  363. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  364. package/dist/tests/typeEvaluator4.test.js +26 -21
  365. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  366. package/dist/tests/typeEvaluator5.test.js +36 -31
  367. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  368. package/dist/tests/typePrinter.test.js +4 -3
  369. package/dist/tests/typePrinter.test.js.map +1 -1
  370. package/dist/tests/uri.test.d.ts +1 -0
  371. package/dist/tests/uri.test.js +695 -0
  372. package/dist/tests/uri.test.js.map +1 -0
  373. package/dist/tests/workspaceEditUtils.test.js +28 -28
  374. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  375. package/dist/tests/zipfs.test.js +11 -11
  376. package/dist/tests/zipfs.test.js.map +1 -1
  377. package/dist/workspaceFactory.d.ts +13 -14
  378. package/dist/workspaceFactory.js +54 -55
  379. package/dist/workspaceFactory.js.map +1 -1
  380. package/package.json +2 -2
  381. package/dist/common/uriParser.d.ts +0 -24
  382. package/dist/common/uriParser.js +0 -45
  383. package/dist/common/uriParser.js.map +0 -1
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.PyrightFileSystem = exports.SupportPartialStubs = void 0;
14
14
  const pyTypedUtils_1 = require("./analyzer/pyTypedUtils");
15
15
  const pathConsts_1 = require("./common/pathConsts");
16
- const pathUtils_1 = require("./common/pathUtils");
16
+ const uriUtils_1 = require("./common/uri/uriUtils");
17
17
  const readonlyAugmentedFileSystem_1 = require("./readonlyAugmentedFileSystem");
18
18
  var SupportPartialStubs;
19
19
  (function (SupportPartialStubs) {
@@ -33,42 +33,38 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
33
33
  // Partial stub package paths processed
34
34
  this._partialStubPackagePaths = new Set();
35
35
  }
36
- mkdirSync(path, options) {
37
- this.realFS.mkdirSync(path, options);
36
+ mkdirSync(uri, options) {
37
+ this.realFS.mkdirSync(uri, options);
38
38
  }
39
- chdir(path) {
40
- this.realFS.chdir(path);
39
+ chdir(uri) {
40
+ this.realFS.chdir(uri);
41
41
  }
42
- writeFileSync(path, data, encoding) {
43
- this.realFS.writeFileSync(this.getOriginalPath(path), data, encoding);
42
+ writeFileSync(uri, data, encoding) {
43
+ this.realFS.writeFileSync(this.getOriginalPath(uri), data, encoding);
44
44
  }
45
- rmdirSync(path) {
46
- this.realFS.rmdirSync(this.getOriginalPath(path));
45
+ rmdirSync(uri) {
46
+ this.realFS.rmdirSync(this.getOriginalPath(uri));
47
47
  }
48
- unlinkSync(path) {
49
- this.realFS.unlinkSync(this.getOriginalPath(path));
48
+ unlinkSync(uri) {
49
+ this.realFS.unlinkSync(this.getOriginalPath(uri));
50
50
  }
51
- createWriteStream(path) {
52
- return this.realFS.createWriteStream(this.getOriginalPath(path));
51
+ createWriteStream(uri) {
52
+ return this.realFS.createWriteStream(this.getOriginalPath(uri));
53
53
  }
54
54
  copyFileSync(src, dst) {
55
55
  this.realFS.copyFileSync(this.getOriginalPath(src), this.getOriginalPath(dst));
56
56
  }
57
- getUri(originalPath) {
58
- return this.realFS.getUri(originalPath);
59
- }
60
57
  isPartialStubPackagesScanned(execEnv) {
61
- var _a;
62
- return this.isPathScanned((_a = execEnv.root) !== null && _a !== void 0 ? _a : '');
58
+ return execEnv.root ? this.isPathScanned(execEnv.root) : false;
63
59
  }
64
- isPathScanned(path) {
65
- return this._rootSearched.has(path);
60
+ isPathScanned(uri) {
61
+ return this._rootSearched.has(uri.key);
66
62
  }
67
63
  processPartialStubPackages(paths, roots, bundledStubPath) {
68
64
  var _a;
69
65
  for (const path of paths) {
70
- this._rootSearched.add(path);
71
- if (!this.realFS.existsSync(path) || !(0, pathUtils_1.isDirectory)(this.realFS, path)) {
66
+ this._rootSearched.add(path.key);
67
+ if (!this.realFS.existsSync(path) || !(0, uriUtils_1.isDirectory)(this.realFS, path)) {
72
68
  continue;
73
69
  }
74
70
  let dirEntries = [];
@@ -78,12 +74,12 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
78
74
  catch {
79
75
  // Leave empty set of dir entries to process.
80
76
  }
81
- const isBundledStub = path === bundledStubPath;
77
+ const isBundledStub = path.equals(bundledStubPath);
82
78
  for (const entry of dirEntries) {
83
- const partialStubPackagePath = (0, pathUtils_1.combinePaths)(path, entry.name);
79
+ const partialStubPackagePath = path.combinePaths(entry.name);
84
80
  const isDirectory = !entry.isSymbolicLink()
85
81
  ? entry.isDirectory()
86
- : !!((_a = (0, pathUtils_1.tryStat)(this.realFS, partialStubPackagePath)) === null || _a === void 0 ? void 0 : _a.isDirectory());
82
+ : !!((_a = (0, uriUtils_1.tryStat)(this.realFS, partialStubPackagePath)) === null || _a === void 0 ? void 0 : _a.isDirectory());
87
83
  if (!isDirectory || !entry.name.endsWith(pathConsts_1.stubsSuffix)) {
88
84
  continue;
89
85
  }
@@ -93,14 +89,14 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
93
89
  continue;
94
90
  }
95
91
  // We found partially typed stub-packages.
96
- this._partialStubPackagePaths.add(partialStubPackagePath);
92
+ this._partialStubPackagePaths.add(partialStubPackagePath.key);
97
93
  // Search the root to see whether we have matching package installed.
98
94
  let partialStubs;
99
95
  const packageName = entry.name.substr(0, entry.name.length - pathConsts_1.stubsSuffix.length);
100
96
  for (const root of roots) {
101
- const packagePath = (0, pathUtils_1.combinePaths)(root, packageName);
97
+ const packagePath = root.combinePaths(packageName);
102
98
  try {
103
- const stat = (0, pathUtils_1.tryStat)(this.realFS, packagePath);
99
+ const stat = (0, uriUtils_1.tryStat)(this.realFS, packagePath);
104
100
  if (!(stat === null || stat === void 0 ? void 0 : stat.isDirectory())) {
105
101
  continue;
106
102
  }
@@ -116,9 +112,9 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
116
112
  // Merge partial stub packages to the library.
117
113
  partialStubs = partialStubs !== null && partialStubs !== void 0 ? partialStubs : this._getRelativePathPartialStubs(partialStubPackagePath);
118
114
  for (const partialStub of partialStubs) {
119
- const originalPyiFile = (0, pathUtils_1.combinePaths)(partialStubPackagePath, partialStub);
120
- const mappedPyiFile = (0, pathUtils_1.combinePaths)(packagePath, partialStub);
121
- this.recordMovedEntry(mappedPyiFile, originalPyiFile);
115
+ const originalPyiFile = partialStubPackagePath.combinePaths(partialStub);
116
+ const mappedPyiFile = packagePath.combinePaths(partialStub);
117
+ this.recordMovedEntry(mappedPyiFile, originalPyiFile, packagePath);
122
118
  }
123
119
  }
124
120
  catch {
@@ -133,19 +129,18 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
133
129
  this._rootSearched.clear();
134
130
  this._partialStubPackagePaths.clear();
135
131
  }
136
- isMovedEntry(path) {
137
- return this._partialStubPackagePaths.has(path) || super.isMovedEntry(path);
132
+ isMovedEntry(uri) {
133
+ return this._partialStubPackagePaths.has(uri.key) || super.isMovedEntry(uri);
138
134
  }
139
- _getRelativePathPartialStubs(path) {
140
- const paths = [];
141
- const partialStubPathLength = (0, pathUtils_1.ensureTrailingDirectorySeparator)(path).length;
142
- const searchAllStubs = (path) => {
143
- for (const entry of this.realFS.readdirEntriesSync(path)) {
144
- const filePath = (0, pathUtils_1.combinePaths)(path, entry.name);
135
+ _getRelativePathPartialStubs(partialStubPath) {
136
+ const relativePaths = [];
137
+ const searchAllStubs = (uri) => {
138
+ for (const entry of this.realFS.readdirEntriesSync(uri)) {
139
+ const filePath = uri.combinePaths(entry.name);
145
140
  let isDirectory = entry.isDirectory();
146
141
  let isFile = entry.isFile();
147
142
  if (entry.isSymbolicLink()) {
148
- const stat = (0, pathUtils_1.tryStat)(this.realFS, filePath);
143
+ const stat = (0, uriUtils_1.tryStat)(this.realFS, filePath);
149
144
  if (stat) {
150
145
  isDirectory = stat.isDirectory();
151
146
  isFile = stat.isFile();
@@ -155,15 +150,15 @@ class PyrightFileSystem extends readonlyAugmentedFileSystem_1.ReadOnlyAugmentedF
155
150
  searchAllStubs(filePath);
156
151
  }
157
152
  if (isFile && entry.name.endsWith('.pyi')) {
158
- const relative = filePath.substring(partialStubPathLength);
153
+ const relative = partialStubPath.getRelativePathComponents(filePath).join('/');
159
154
  if (relative) {
160
- paths.push(relative);
155
+ relativePaths.push(relative);
161
156
  }
162
157
  }
163
158
  }
164
159
  };
165
- searchAllStubs(path);
166
- return paths;
160
+ searchAllStubs(partialStubPath);
161
+ return relativePaths;
167
162
  }
168
163
  }
169
164
  exports.PyrightFileSystem = PyrightFileSystem;
@@ -1 +1 @@
1
- {"version":3,"file":"pyrightFileSystem.js","sourceRoot":"","sources":["../../src/pyrightFileSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pyrightFileSystem.js","sourceRoot":"","sources":["../../src/pyrightFileSystem.ts"],"names":[],"mappings":"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"}
@@ -3,39 +3,40 @@
3
3
  import type * as fs from 'fs';
4
4
  import { FileSystem, MkDirOptions, Stats } from './common/fileSystem';
5
5
  import { FileWatcher, FileWatcherEventHandler } from './common/fileWatcher';
6
+ import { Uri } from './common/uri/uri';
6
7
  export declare class ReadOnlyAugmentedFileSystem implements FileSystem {
7
8
  protected realFS: FileSystem;
8
9
  private readonly _entryMap;
9
10
  private readonly _reverseEntryMap;
10
11
  private readonly _folderMap;
11
12
  constructor(realFS: FileSystem);
12
- existsSync(path: string): boolean;
13
- mkdirSync(path: string, options?: MkDirOptions): void;
14
- chdir(path: string): void;
15
- readdirEntriesSync(path: string): fs.Dirent[];
16
- readdirSync(path: string): string[];
17
- readFileSync(path: string, encoding?: null): Buffer;
18
- readFileSync(path: string, encoding: BufferEncoding): string;
19
- writeFileSync(path: string, data: string | Buffer, encoding: BufferEncoding | null): void;
20
- statSync(path: string): Stats;
21
- rmdirSync(path: string): void;
22
- unlinkSync(path: string): void;
23
- realpathSync(path: string): string;
24
- getModulePath(): string;
25
- createFileSystemWatcher(paths: string[], listener: FileWatcherEventHandler): FileWatcher;
26
- createReadStream(path: string): fs.ReadStream;
27
- createWriteStream(path: string): fs.WriteStream;
28
- copyFileSync(src: string, dst: string): void;
29
- readFile(path: string): Promise<Buffer>;
30
- readFileText(path: string, encoding?: BufferEncoding): Promise<string>;
31
- realCasePath(path: string): string;
32
- getUri(originalPath: string): string;
33
- isMappedFilePath(filepath: string): boolean;
34
- getOriginalFilePath(mappedFilePath: string): string;
35
- getMappedFilePath(originalFilepath: string): string;
36
- isInZip(path: string): boolean;
37
- protected recordMovedEntry(mappedPath: string, originalPath: string, reversible?: boolean, isFile?: boolean): void;
38
- protected getOriginalPath(mappedFilePath: string): string;
39
- protected isMovedEntry(path: string): boolean;
13
+ get isCaseSensitive(): boolean;
14
+ existsSync(uri: Uri): boolean;
15
+ mkdirSync(uri: Uri, options?: MkDirOptions): void;
16
+ chdir(uri: Uri): void;
17
+ readdirEntriesSync(uri: Uri): fs.Dirent[];
18
+ readdirSync(uri: Uri): string[];
19
+ readFileSync(uri: Uri, encoding?: null): Buffer;
20
+ readFileSync(uri: Uri, encoding: BufferEncoding): string;
21
+ writeFileSync(uri: Uri, data: string | Buffer, encoding: BufferEncoding | null): void;
22
+ statSync(uri: Uri): Stats;
23
+ rmdirSync(uri: Uri): void;
24
+ unlinkSync(uri: Uri): void;
25
+ realpathSync(uri: Uri): Uri;
26
+ getModulePath(): Uri;
27
+ createFileSystemWatcher(paths: Uri[], listener: FileWatcherEventHandler): FileWatcher;
28
+ createReadStream(uri: Uri): fs.ReadStream;
29
+ createWriteStream(uri: Uri): fs.WriteStream;
30
+ copyFileSync(src: Uri, dst: Uri): void;
31
+ readFile(uri: Uri): Promise<Buffer>;
32
+ readFileText(uri: Uri, encoding?: BufferEncoding): Promise<string>;
33
+ realCasePath(uri: Uri): Uri;
34
+ isMappedUri(fileUri: Uri): boolean;
35
+ getOriginalUri(mappedFileUri: Uri): Uri;
36
+ getMappedUri(originalFileUri: Uri): Uri;
37
+ isInZip(uri: Uri): boolean;
38
+ protected recordMovedEntry(mappedUri: Uri, originalUri: Uri, rootPath: Uri): void;
39
+ protected getOriginalPath(mappedFileUri: Uri): Uri;
40
+ protected isMovedEntry(uri: Uri): boolean;
40
41
  protected clear(): void;
41
42
  }
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.ReadOnlyAugmentedFileSystem = void 0;
12
12
  const collectionUtils_1 = require("./common/collectionUtils");
13
13
  const fileSystem_1 = require("./common/fileSystem");
14
- const pathUtils_1 = require("./common/pathUtils");
15
14
  class ReadOnlyAugmentedFileSystem {
16
15
  constructor(realFS) {
17
16
  this.realFS = realFS;
@@ -22,29 +21,31 @@ class ReadOnlyAugmentedFileSystem {
22
21
  // Mapped files per a containing folder map
23
22
  this._folderMap = new Map();
24
23
  }
25
- existsSync(path) {
26
- if (this.isMovedEntry(path)) {
24
+ get isCaseSensitive() {
25
+ return this.realFS.isCaseSensitive;
26
+ }
27
+ existsSync(uri) {
28
+ if (this.isMovedEntry(uri)) {
27
29
  // Pretend partial stub folder and its files not exist
28
30
  return false;
29
31
  }
30
- return this.realFS.existsSync(this.getOriginalPath(path));
32
+ return this.realFS.existsSync(this.getOriginalPath(uri));
31
33
  }
32
- mkdirSync(path, options) {
34
+ mkdirSync(uri, options) {
33
35
  throw new Error('Operation is not allowed.');
34
36
  }
35
- chdir(path) {
37
+ chdir(uri) {
36
38
  throw new Error('Operation is not allowed.');
37
39
  }
38
- readdirEntriesSync(path) {
39
- const maybeDirectory = (0, pathUtils_1.ensureTrailingDirectorySeparator)(path);
40
+ readdirEntriesSync(uri) {
40
41
  const entries = [];
41
- const movedEntries = this._folderMap.get(maybeDirectory);
42
- if (!movedEntries || this.realFS.existsSync(path)) {
43
- (0, collectionUtils_1.appendArray)(entries, this.realFS.readdirEntriesSync(path).filter((item) => {
42
+ const movedEntries = this._folderMap.get(uri.key);
43
+ if (!movedEntries || this.realFS.existsSync(uri)) {
44
+ (0, collectionUtils_1.appendArray)(entries, this.realFS.readdirEntriesSync(uri).filter((item) => {
44
45
  // Filter out the stub package directory and any
45
46
  // entries that will be overwritten by stub package
46
47
  // virtual items.
47
- return (!this.isMovedEntry((0, pathUtils_1.combinePaths)(path, item.name)) &&
48
+ return (!this.isMovedEntry(uri.combinePaths(item.name)) &&
48
49
  !(movedEntries === null || movedEntries === void 0 ? void 0 : movedEntries.some((movedEntry) => movedEntry.name === item.name)));
49
50
  }));
50
51
  }
@@ -53,29 +54,29 @@ class ReadOnlyAugmentedFileSystem {
53
54
  }
54
55
  return entries.concat(movedEntries.map((e) => new fileSystem_1.VirtualDirent(e.name, e.isFile)));
55
56
  }
56
- readdirSync(path) {
57
- return this.readdirEntriesSync(path).map((p) => p.name);
57
+ readdirSync(uri) {
58
+ return this.readdirEntriesSync(uri).map((p) => p.name);
58
59
  }
59
- readFileSync(path, encoding) {
60
- return this.realFS.readFileSync(this.getOriginalPath(path), encoding);
60
+ readFileSync(uri, encoding) {
61
+ return this.realFS.readFileSync(this.getOriginalPath(uri), encoding);
61
62
  }
62
- writeFileSync(path, data, encoding) {
63
+ writeFileSync(uri, data, encoding) {
63
64
  throw new Error('Operation is not allowed.');
64
65
  }
65
- statSync(path) {
66
- return this.realFS.statSync(this.getOriginalPath(path));
66
+ statSync(uri) {
67
+ return this.realFS.statSync(this.getOriginalPath(uri));
67
68
  }
68
- rmdirSync(path) {
69
+ rmdirSync(uri) {
69
70
  throw new Error('Operation is not allowed.');
70
71
  }
71
- unlinkSync(path) {
72
+ unlinkSync(uri) {
72
73
  throw new Error('Operation is not allowed.');
73
74
  }
74
- realpathSync(path) {
75
- if (this._entryMap.has(path)) {
76
- return path;
75
+ realpathSync(uri) {
76
+ if (this._entryMap.has(uri.key)) {
77
+ return uri;
77
78
  }
78
- return this.realFS.realpathSync(path);
79
+ return this.realFS.realpathSync(uri);
79
80
  }
80
81
  getModulePath() {
81
82
  return this.realFS.getModulePath();
@@ -83,63 +84,69 @@ class ReadOnlyAugmentedFileSystem {
83
84
  createFileSystemWatcher(paths, listener) {
84
85
  return this.realFS.createFileSystemWatcher(paths, listener);
85
86
  }
86
- createReadStream(path) {
87
- return this.realFS.createReadStream(this.getOriginalPath(path));
87
+ createReadStream(uri) {
88
+ return this.realFS.createReadStream(this.getOriginalPath(uri));
88
89
  }
89
- createWriteStream(path) {
90
+ createWriteStream(uri) {
90
91
  throw new Error('Operation is not allowed.');
91
92
  }
92
93
  copyFileSync(src, dst) {
93
94
  throw new Error('Operation is not allowed.');
94
95
  }
95
96
  // Async I/O
96
- readFile(path) {
97
- return this.realFS.readFile(this.getOriginalPath(path));
98
- }
99
- readFileText(path, encoding) {
100
- return this.realFS.readFileText(this.getOriginalPath(path), encoding);
97
+ readFile(uri) {
98
+ return this.realFS.readFile(this.getOriginalPath(uri));
101
99
  }
102
- realCasePath(path) {
103
- return this.realFS.realCasePath(path);
100
+ readFileText(uri, encoding) {
101
+ return this.realFS.readFileText(this.getOriginalPath(uri), encoding);
104
102
  }
105
- getUri(originalPath) {
106
- return this.realFS.getUri(originalPath);
103
+ realCasePath(uri) {
104
+ return this.realFS.realCasePath(uri);
107
105
  }
108
106
  // See whether the file is mapped to another location.
109
- isMappedFilePath(filepath) {
110
- return this._entryMap.has(filepath) || this.realFS.isMappedFilePath(filepath);
107
+ isMappedUri(fileUri) {
108
+ return this._entryMap.has(fileUri.key) || this.realFS.isMappedUri(fileUri);
111
109
  }
112
110
  // Get original filepath if the given filepath is mapped.
113
- getOriginalFilePath(mappedFilePath) {
114
- return this.realFS.getOriginalFilePath(this.getOriginalPath(mappedFilePath));
111
+ getOriginalUri(mappedFileUri) {
112
+ return this.realFS.getOriginalUri(this.getOriginalPath(mappedFileUri));
115
113
  }
116
114
  // Get mapped filepath if the given filepath is mapped.
117
- getMappedFilePath(originalFilepath) {
115
+ getMappedUri(originalFileUri) {
118
116
  var _a;
119
- const mappedFilePath = this.realFS.getMappedFilePath(originalFilepath);
120
- return (_a = this._reverseEntryMap.get(mappedFilePath)) !== null && _a !== void 0 ? _a : mappedFilePath;
121
- }
122
- isInZip(path) {
123
- return this.realFS.isInZip(path);
124
- }
125
- recordMovedEntry(mappedPath, originalPath, reversible = true, isFile = true) {
126
- this._entryMap.set(mappedPath, originalPath);
127
- if (reversible) {
128
- this._reverseEntryMap.set(originalPath, mappedPath);
129
- }
130
- const directory = (0, pathUtils_1.ensureTrailingDirectorySeparator)((0, pathUtils_1.getDirectoryPath)(mappedPath));
131
- const folderInfo = (0, collectionUtils_1.getOrAdd)(this._folderMap, directory, () => []);
132
- const name = (0, pathUtils_1.getFileName)(mappedPath);
117
+ const mappedFileUri = this.realFS.getMappedUri(originalFileUri);
118
+ return (_a = this._reverseEntryMap.get(mappedFileUri.key)) !== null && _a !== void 0 ? _a : mappedFileUri;
119
+ }
120
+ isInZip(uri) {
121
+ return this.realFS.isInZip(uri);
122
+ }
123
+ recordMovedEntry(mappedUri, originalUri, rootPath) {
124
+ this._entryMap.set(mappedUri.key, originalUri);
125
+ this._reverseEntryMap.set(originalUri.key, mappedUri);
126
+ const directory = mappedUri.getDirectory();
127
+ const folderInfo = (0, collectionUtils_1.getOrAdd)(this._folderMap, directory.key, () => []);
128
+ const name = mappedUri.fileName;
133
129
  if (!folderInfo.some((entry) => entry.name === name)) {
134
- folderInfo.push({ name, isFile });
130
+ folderInfo.push({ name, isFile: true });
131
+ }
132
+ // Add the directory entries for the sub paths as well.
133
+ const subPathEntries = rootPath.getRelativePathComponents(directory);
134
+ for (let i = 0; i < subPathEntries.length; i++) {
135
+ const subdir = rootPath.combinePaths(...subPathEntries.slice(0, i + 1));
136
+ const parent = subdir.getDirectory().key;
137
+ const dirInfo = (0, collectionUtils_1.getOrAdd)(this._folderMap, parent, () => []);
138
+ const dirName = subdir.fileName;
139
+ if (!dirInfo.some((entry) => entry.name === dirName)) {
140
+ dirInfo.push({ name: dirName, isFile: false });
141
+ }
135
142
  }
136
143
  }
137
- getOriginalPath(mappedFilePath) {
144
+ getOriginalPath(mappedFileUri) {
138
145
  var _a;
139
- return (_a = this._entryMap.get(mappedFilePath)) !== null && _a !== void 0 ? _a : mappedFilePath;
146
+ return (_a = this._entryMap.get(mappedFileUri.key)) !== null && _a !== void 0 ? _a : mappedFileUri;
140
147
  }
141
- isMovedEntry(path) {
142
- return this._reverseEntryMap.has(path);
148
+ isMovedEntry(uri) {
149
+ return this._reverseEntryMap.has(uri.key);
143
150
  }
144
151
  clear() {
145
152
  this._entryMap.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"readonlyAugmentedFileSystem.js","sourceRoot":"","sources":["../../src/readonlyAugmentedFileSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readonlyAugmentedFileSystem.js","sourceRoot":"","sources":["../../src/readonlyAugmentedFileSystem.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAIH,8DAAiE;AACjE,oDAAqF;AAIrF,MAAa,2BAA2B;IAUpC,YAAsB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QATxC,mCAAmC;QAClB,cAAS,GAAG,IAAI,GAAG,EAAe,CAAC;QAEpD,mCAAmC;QAClB,qBAAgB,GAAG,IAAI,GAAG,EAAe,CAAC;QAE3D,2CAA2C;QAC1B,eAAU,GAAG,IAAI,GAAG,EAA+C,CAAC;IAE1C,CAAC;IAE5C,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,GAAQ;QACf,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;YACxB,sDAAsD;YACtD,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,SAAS,CAAC,GAAQ,EAAE,OAAsB;QACtC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,GAAQ;QACV,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IAED,kBAAkB,CAAC,GAAQ;QACvB,MAAM,OAAO,GAAgB,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAC9C,IAAA,6BAAW,EACP,OAAO,EACP,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChD,gDAAgD;gBAChD,mDAAmD;gBACnD,iBAAiB;gBACjB,OAAO,CACH,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/C,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAA,CACrE,CAAC;YACN,CAAC,CAAC,CACL,CAAC;SACL;QAED,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,OAAO,CAAC;SAClB;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,0BAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,WAAW,CAAC,GAAQ;QAChB,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAID,YAAY,CAAC,GAAQ,EAAE,QAAgC;QACnD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED,aAAa,CAAC,GAAQ,EAAE,IAAqB,EAAE,QAA+B;QAC1E,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ,CAAC,GAAQ;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,GAAQ;QACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IAED,UAAU,CAAC,GAAQ;QACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,GAAQ;QACjB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC7B,OAAO,GAAG,CAAC;SACd;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;IAED,uBAAuB,CAAC,KAAY,EAAE,QAAiC;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,gBAAgB,CAAC,GAAQ;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,iBAAiB,CAAC,GAAQ;QACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,GAAQ,EAAE,GAAQ;QAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IAED,YAAY;IACZ,QAAQ,CAAC,GAAQ;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,YAAY,CAAC,GAAQ,EAAE,QAAyB;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzE,CAAC;IAED,YAAY,CAAC,GAAQ;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,sDAAsD;IACtD,WAAW,CAAC,OAAY;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/E,CAAC;IAED,yDAAyD;IACzD,cAAc,CAAC,aAAkB;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,uDAAuD;IACvD,YAAY,CAAC,eAAoB;;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAChE,OAAO,MAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,mCAAI,aAAa,CAAC;IACzE,CAAC;IAED,OAAO,CAAC,GAAQ;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAES,gBAAgB,CAAC,SAAc,EAAE,WAAgB,EAAE,QAAa;QACtE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAEtD,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAA,0BAAQ,EAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAEtE,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;YAClD,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;SAC3C;QAED,uDAAuD;QACvD,MAAM,cAAc,GAAG,QAAQ,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC;QACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC;YACzC,MAAM,OAAO,GAAG,IAAA,0BAAQ,EAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;gBAClD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;aAClD;SACJ;IACL,CAAC;IAES,eAAe,CAAC,aAAkB;;QACxC,OAAO,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,mCAAI,aAAa,CAAC;IAClE,CAAC;IAES,YAAY,CAAC,GAAQ;QAC3B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAES,KAAK;QACX,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACJ;AAvLD,kEAuLC"}
package/dist/server.js CHANGED
@@ -19,9 +19,10 @@ const core_1 = require("./common/core");
19
19
  const envVarUtils_1 = require("./common/envVarUtils");
20
20
  const fileBasedCancellationUtils_1 = require("./common/fileBasedCancellationUtils");
21
21
  const fullAccessHost_1 = require("./common/fullAccessHost");
22
- const pathUtils_1 = require("./common/pathUtils");
23
22
  const realFileSystem_1 = require("./common/realFileSystem");
24
23
  const serviceProviderExtensions_1 = require("./common/serviceProviderExtensions");
24
+ const uri_1 = require("./common/uri/uri");
25
+ const uriUtils_1 = require("./common/uri/uriUtils");
25
26
  const languageServerBase_1 = require("./languageServerBase");
26
27
  const codeActionProvider_1 = require("./languageService/codeActionProvider");
27
28
  const pyrightFileSystem_1 = require("./pyrightFileSystem");
@@ -30,18 +31,18 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
30
31
  constructor(connection) {
31
32
  // eslint-disable-next-line @typescript-eslint/no-var-requires
32
33
  const version = require('../package.json').version || '';
33
- // When executed from CLI command (pyright-langserver), __rootDirectory is
34
- // already defined. When executed from VSCode extension, rootDirectory should
35
- // be __dirname.
36
- const rootDirectory = global.__rootDirectory || __dirname;
37
34
  const console = new console_1.ConsoleWithLogLevel(connection.console);
38
35
  const fileWatcherProvider = new realFileSystem_1.WorkspaceFileWatcherProvider();
39
36
  const fileSystem = (0, realFileSystem_1.createFromRealFileSystem)(console, fileWatcherProvider);
40
37
  const pyrightFs = new pyrightFileSystem_1.PyrightFileSystem(fileSystem);
41
- const tempFile = new realFileSystem_1.RealTempFile();
38
+ const tempFile = new realFileSystem_1.RealTempFile(pyrightFs.isCaseSensitive);
42
39
  const cacheManager = new cacheManager_1.CacheManager();
43
40
  const serviceProvider = (0, serviceProviderExtensions_1.createServiceProvider)(pyrightFs, tempFile, console, cacheManager);
44
- const realPathRoot = (0, pathUtils_1.realCasePath)(rootDirectory, pyrightFs);
41
+ // When executed from CLI command (pyright-langserver), __rootDirectory is
42
+ // already defined. When executed from VSCode extension, rootDirectory should
43
+ // be __dirname.
44
+ const rootDirectory = (0, uriUtils_1.getRootUri)(pyrightFs.isCaseSensitive) || uri_1.Uri.file(__dirname, pyrightFs.isCaseSensitive);
45
+ const realPathRoot = pyrightFs.realCasePath(rootDirectory);
45
46
  super({
46
47
  productName: 'Pyright',
47
48
  rootDirectory: realPathRoot,
@@ -63,36 +64,36 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
63
64
  useLibraryCodeForTypes: true,
64
65
  disableLanguageServices: false,
65
66
  disableOrganizeImports: false,
66
- typeCheckingMode: 'basic',
67
+ typeCheckingMode: 'standard',
67
68
  diagnosticSeverityOverrides: {},
68
69
  logLevel: console_1.LogLevel.Info,
69
70
  autoImportCompletions: true,
70
71
  functionSignatureDisplay: configOptions_1.SignatureDisplayType.formatted,
71
72
  };
72
73
  try {
73
- const pythonSection = await this.getConfiguration(workspace.uri, 'python');
74
+ const pythonSection = await this.getConfiguration(workspace.rootUri, 'python');
74
75
  if (pythonSection) {
75
76
  const pythonPath = pythonSection.pythonPath;
76
77
  if (pythonPath && (0, core_1.isString)(pythonPath) && !(0, pythonPathUtils_1.isPythonBinary)(pythonPath)) {
77
- serverSettings.pythonPath = (0, pathUtils_1.resolvePaths)(workspace.rootPath, (0, envVarUtils_1.expandPathVariables)(workspace.rootPath, pythonPath));
78
+ serverSettings.pythonPath = workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, pythonPath));
78
79
  }
79
80
  const venvPath = pythonSection.venvPath;
80
81
  if (venvPath && (0, core_1.isString)(venvPath)) {
81
- serverSettings.venvPath = (0, pathUtils_1.resolvePaths)(workspace.rootPath, (0, envVarUtils_1.expandPathVariables)(workspace.rootPath, venvPath));
82
+ serverSettings.venvPath = workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, venvPath));
82
83
  }
83
84
  }
84
- const pythonAnalysisSection = await this.getConfiguration(workspace.uri, 'python.analysis');
85
+ const pythonAnalysisSection = await this.getConfiguration(workspace.rootUri, 'python.analysis');
85
86
  if (pythonAnalysisSection) {
86
87
  const typeshedPaths = pythonAnalysisSection.typeshedPaths;
87
88
  if (typeshedPaths && Array.isArray(typeshedPaths) && typeshedPaths.length > 0) {
88
89
  const typeshedPath = typeshedPaths[0];
89
90
  if (typeshedPath && (0, core_1.isString)(typeshedPath)) {
90
- serverSettings.typeshedPath = (0, pathUtils_1.resolvePaths)(workspace.rootPath, (0, envVarUtils_1.expandPathVariables)(workspace.rootPath, typeshedPath));
91
+ serverSettings.typeshedPath = workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, typeshedPath));
91
92
  }
92
93
  }
93
94
  const stubPath = pythonAnalysisSection.stubPath;
94
95
  if (stubPath && (0, core_1.isString)(stubPath)) {
95
- serverSettings.stubPath = (0, pathUtils_1.resolvePaths)(workspace.rootPath, (0, envVarUtils_1.expandPathVariables)(workspace.rootPath, stubPath));
96
+ serverSettings.stubPath = workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, stubPath));
96
97
  }
97
98
  const diagnosticSeverityOverrides = pythonAnalysisSection.diagnosticSeverityOverrides;
98
99
  if (diagnosticSeverityOverrides) {
@@ -119,7 +120,7 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
119
120
  if (extraPaths && Array.isArray(extraPaths) && extraPaths.length > 0) {
120
121
  serverSettings.extraPaths = extraPaths
121
122
  .filter((p) => p && (0, core_1.isString)(p))
122
- .map((p) => (0, pathUtils_1.resolvePaths)(workspace.rootPath, (0, envVarUtils_1.expandPathVariables)(workspace.rootPath, p)));
123
+ .map((p) => workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, p)));
123
124
  }
124
125
  serverSettings.includeFileSpecs = this._getStringValues(pythonAnalysisSection.include);
125
126
  serverSettings.excludeFileSpecs = this._getStringValues(pythonAnalysisSection.exclude);
@@ -141,7 +142,7 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
141
142
  else {
142
143
  serverSettings.autoSearchPaths = true;
143
144
  }
144
- const pyrightSection = await this.getConfiguration(workspace.uri, 'pyright');
145
+ const pyrightSection = await this.getConfiguration(workspace.rootUri, 'pyright');
145
146
  if (pyrightSection) {
146
147
  if (pyrightSection.openFilesOnly !== undefined) {
147
148
  serverSettings.openFilesOnly = !!pyrightSection.openFilesOnly;
@@ -168,10 +169,10 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
168
169
  // is used where cancellation is not supported.
169
170
  return undefined;
170
171
  }
171
- return new backgroundAnalysis_1.BackgroundAnalysis(this.console);
172
+ return new backgroundAnalysis_1.BackgroundAnalysis(this.serverOptions.serviceProvider);
172
173
  }
173
174
  createHost() {
174
- return new fullAccessHost_1.FullAccessHost(this.fs);
175
+ return new fullAccessHost_1.FullAccessHost(this.serverOptions.serviceProvider);
175
176
  }
176
177
  createImportResolver(serviceProvider, options, host) {
177
178
  const importResolver = new importResolver_1.ImportResolver(serviceProvider, options, host);
@@ -188,9 +189,9 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
188
189
  }
189
190
  async executeCodeAction(params, token) {
190
191
  this.recordUserInteractionTime();
191
- const filePath = this.uriParser.decodeTextDocumentUri(params.textDocument.uri);
192
- const workspace = await this.getWorkspaceForFile(filePath);
193
- return codeActionProvider_1.CodeActionProvider.getCodeActionsForPosition(workspace, filePath, params.range, params.context.only, token);
192
+ const uri = uri_1.Uri.parse(params.textDocument.uri, this.serverOptions.serviceProvider.fs().isCaseSensitive);
193
+ const workspace = await this.getWorkspaceForFile(uri);
194
+ return codeActionProvider_1.CodeActionProvider.getCodeActionsForPosition(workspace, uri, params.range, params.context.only, token);
194
195
  }
195
196
  createProgressReporter() {
196
197
  // The old progress notifications are kept for backwards compatibility with