@zzzen/pyright-internal 1.2.0-dev.20260809 → 1.2.0-dev.20260823

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 (365) hide show
  1. package/dist/analyzer/analyzerNodeInfo.d.ts +119 -24
  2. package/dist/analyzer/analyzerNodeInfo.js +408 -89
  3. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  4. package/dist/analyzer/binder.d.ts +6 -3
  5. package/dist/analyzer/binder.js +157 -70
  6. package/dist/analyzer/binder.js.map +1 -1
  7. package/dist/analyzer/checker.d.ts +5 -2
  8. package/dist/analyzer/checker.js +92 -34
  9. package/dist/analyzer/checker.js.map +1 -1
  10. package/dist/analyzer/codeFlowEngine.d.ts +2 -1
  11. package/dist/analyzer/codeFlowEngine.js +12 -10
  12. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  13. package/dist/analyzer/codeFlowUtils.d.ts +2 -1
  14. package/dist/analyzer/codeFlowUtils.js +2 -3
  15. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  16. package/dist/analyzer/constraintSolver.js +47 -7
  17. package/dist/analyzer/constraintSolver.js.map +1 -1
  18. package/dist/analyzer/constructors.js +18 -8
  19. package/dist/analyzer/constructors.js.map +1 -1
  20. package/dist/analyzer/dataClasses.d.ts +6 -4
  21. package/dist/analyzer/dataClasses.js +119 -75
  22. package/dist/analyzer/dataClasses.js.map +1 -1
  23. package/dist/analyzer/declarationUtils.d.ts +2 -1
  24. package/dist/analyzer/declarationUtils.js +2 -2
  25. package/dist/analyzer/declarationUtils.js.map +1 -1
  26. package/dist/analyzer/decorators.d.ts +5 -4
  27. package/dist/analyzer/decorators.js +38 -21
  28. package/dist/analyzer/decorators.js.map +1 -1
  29. package/dist/analyzer/enums.d.ts +5 -4
  30. package/dist/analyzer/enums.js +11 -10
  31. package/dist/analyzer/enums.js.map +1 -1
  32. package/dist/analyzer/importResolver.d.ts +1 -1
  33. package/dist/analyzer/importResolver.js +5 -3
  34. package/dist/analyzer/importResolver.js.map +1 -1
  35. package/dist/analyzer/importStatementUtils.d.ts +3 -1
  36. package/dist/analyzer/importStatementUtils.js +14 -7
  37. package/dist/analyzer/importStatementUtils.js.map +1 -1
  38. package/dist/analyzer/namedTuples.d.ts +2 -1
  39. package/dist/analyzer/namedTuples.js +3 -4
  40. package/dist/analyzer/namedTuples.js.map +1 -1
  41. package/dist/analyzer/operations.d.ts +3 -2
  42. package/dist/analyzer/operations.js +8 -8
  43. package/dist/analyzer/operations.js.map +1 -1
  44. package/dist/analyzer/packageTypeVerifier.js +2 -2
  45. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  46. package/dist/analyzer/parseTreeUtils.d.ts +13 -11
  47. package/dist/analyzer/parseTreeUtils.js +62 -36
  48. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  49. package/dist/analyzer/parseTreeWalker.d.ts +7 -2
  50. package/dist/analyzer/parseTreeWalker.js +29 -175
  51. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  52. package/dist/analyzer/patternMatching.d.ts +4 -3
  53. package/dist/analyzer/patternMatching.js +47 -43
  54. package/dist/analyzer/patternMatching.js.map +1 -1
  55. package/dist/analyzer/program.d.ts +12 -0
  56. package/dist/analyzer/program.js +235 -29
  57. package/dist/analyzer/program.js.map +1 -1
  58. package/dist/analyzer/properties.d.ts +4 -3
  59. package/dist/analyzer/properties.js +7 -8
  60. package/dist/analyzer/properties.js.map +1 -1
  61. package/dist/analyzer/protocols.js +14 -2
  62. package/dist/analyzer/protocols.js.map +1 -1
  63. package/dist/analyzer/scope.d.ts +3 -0
  64. package/dist/analyzer/scope.js +10 -0
  65. package/dist/analyzer/scope.js.map +1 -1
  66. package/dist/analyzer/scopeUtils.d.ts +4 -3
  67. package/dist/analyzer/scopeUtils.js +8 -8
  68. package/dist/analyzer/scopeUtils.js.map +1 -1
  69. package/dist/analyzer/sentinel.d.ts +2 -1
  70. package/dist/analyzer/sentinel.js +2 -3
  71. package/dist/analyzer/sentinel.js.map +1 -1
  72. package/dist/analyzer/service.js +28 -10
  73. package/dist/analyzer/service.js.map +1 -1
  74. package/dist/analyzer/sourceEnumerator.d.ts +5 -0
  75. package/dist/analyzer/sourceEnumerator.js +57 -3
  76. package/dist/analyzer/sourceEnumerator.js.map +1 -1
  77. package/dist/analyzer/sourceFile.d.ts +12 -6
  78. package/dist/analyzer/sourceFile.js +73 -50
  79. package/dist/analyzer/sourceFile.js.map +1 -1
  80. package/dist/analyzer/sourceFileInfoUtils.d.ts +1 -0
  81. package/dist/analyzer/sourceFileInfoUtils.js +8 -0
  82. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  83. package/dist/analyzer/sourceMapper.d.ts +4 -1
  84. package/dist/analyzer/sourceMapper.js +14 -8
  85. package/dist/analyzer/sourceMapper.js.map +1 -1
  86. package/dist/analyzer/symbol.d.ts +4 -1
  87. package/dist/analyzer/symbol.js +8 -0
  88. package/dist/analyzer/symbol.js.map +1 -1
  89. package/dist/analyzer/testWalker.js +2 -1
  90. package/dist/analyzer/testWalker.js.map +1 -1
  91. package/dist/analyzer/tracePrinter.d.ts +2 -1
  92. package/dist/analyzer/tracePrinter.js +2 -2
  93. package/dist/analyzer/tracePrinter.js.map +1 -1
  94. package/dist/analyzer/tuples.d.ts +3 -2
  95. package/dist/analyzer/tuples.js +5 -5
  96. package/dist/analyzer/tuples.js.map +1 -1
  97. package/dist/analyzer/typeCacheUtils.d.ts +6 -2
  98. package/dist/analyzer/typeCacheUtils.js +16 -37
  99. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  100. package/dist/analyzer/typeDocStringUtils.d.ts +5 -7
  101. package/dist/analyzer/typeDocStringUtils.js +229 -132
  102. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  103. package/dist/analyzer/typeEvaluator.d.ts +2 -0
  104. package/dist/analyzer/typeEvaluator.js +1280 -302
  105. package/dist/analyzer/typeEvaluator.js.map +1 -1
  106. package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -0
  107. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  108. package/dist/analyzer/typeGuards.d.ts +3 -2
  109. package/dist/analyzer/typeGuards.js +37 -33
  110. package/dist/analyzer/typeGuards.js.map +1 -1
  111. package/dist/analyzer/typeStubWriter.js +12 -9
  112. package/dist/analyzer/typeStubWriter.js.map +1 -1
  113. package/dist/analyzer/typeUtils.js +3 -1
  114. package/dist/analyzer/typeUtils.js.map +1 -1
  115. package/dist/analyzer/typedDicts.d.ts +4 -3
  116. package/dist/analyzer/typedDicts.js +15 -14
  117. package/dist/analyzer/typedDicts.js.map +1 -1
  118. package/dist/analyzer/types.d.ts +11 -1
  119. package/dist/analyzer/types.js +48 -0
  120. package/dist/analyzer/types.js.map +1 -1
  121. package/dist/commands/dumpFileDebugInfoCommand.js +1 -1
  122. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  123. package/dist/common/collectionUtils.js +15 -6
  124. package/dist/common/collectionUtils.js.map +1 -1
  125. package/dist/common/commandLineOptions.d.ts +1 -0
  126. package/dist/common/commandLineOptions.js.map +1 -1
  127. package/dist/common/configOptions.d.ts +4 -1
  128. package/dist/common/configOptions.js +68 -12
  129. package/dist/common/configOptions.js.map +1 -1
  130. package/dist/common/envVarUtils.d.ts +1 -0
  131. package/dist/common/envVarUtils.js +41 -10
  132. package/dist/common/envVarUtils.js.map +1 -1
  133. package/dist/common/extensibility.d.ts +3 -1
  134. package/dist/common/extensibility.js.map +1 -1
  135. package/dist/common/extraPathGlob.d.ts +12 -0
  136. package/dist/common/extraPathGlob.js +315 -0
  137. package/dist/common/extraPathGlob.js.map +1 -0
  138. package/dist/common/host.d.ts +2 -0
  139. package/dist/common/host.js.map +1 -1
  140. package/dist/common/languageServerInterface.d.ts +2 -1
  141. package/dist/common/languageServerInterface.js.map +1 -1
  142. package/dist/common/pathConsts.d.ts +1 -0
  143. package/dist/common/pathConsts.js +11 -1
  144. package/dist/common/pathConsts.js.map +1 -1
  145. package/dist/common/processUtils.d.ts +4 -2
  146. package/dist/common/processUtils.js +3 -0
  147. package/dist/common/processUtils.js.map +1 -1
  148. package/dist/common/stringUtils.d.ts +6 -0
  149. package/dist/common/stringUtils.js +87 -5
  150. package/dist/common/stringUtils.js.map +1 -1
  151. package/dist/common/textEditTracker.d.ts +3 -1
  152. package/dist/common/textEditTracker.js +8 -6
  153. package/dist/common/textEditTracker.js.map +1 -1
  154. package/dist/common/textRangeCollection.d.ts +1 -0
  155. package/dist/common/textRangeCollection.js +32 -1
  156. package/dist/common/textRangeCollection.js.map +1 -1
  157. package/dist/common/uri/uriUtils.d.ts +3 -0
  158. package/dist/common/uri/uriUtils.js +65 -15
  159. package/dist/common/uri/uriUtils.js.map +1 -1
  160. package/dist/fileSystemMapping.d.ts +10 -0
  161. package/dist/fileSystemMapping.js +176 -0
  162. package/dist/fileSystemMapping.js.map +1 -0
  163. package/dist/languageService/analyzerServiceExecutor.js +2 -1
  164. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  165. package/dist/languageService/autoImporter.d.ts +1 -0
  166. package/dist/languageService/autoImporter.js +32 -5
  167. package/dist/languageService/autoImporter.js.map +1 -1
  168. package/dist/languageService/callHierarchyProvider.d.ts +7 -0
  169. package/dist/languageService/callHierarchyProvider.js +97 -11
  170. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  171. package/dist/languageService/completionProvider.d.ts +30 -8
  172. package/dist/languageService/completionProvider.js +298 -93
  173. package/dist/languageService/completionProvider.js.map +1 -1
  174. package/dist/languageService/definitionProvider.js +7 -6
  175. package/dist/languageService/definitionProvider.js.map +1 -1
  176. package/dist/languageService/documentHighlightProvider.js +2 -1
  177. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  178. package/dist/languageService/documentSymbolCollector.d.ts +3 -1
  179. package/dist/languageService/documentSymbolCollector.js +78 -14
  180. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  181. package/dist/languageService/documentSymbolProvider.js +3 -2
  182. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  183. package/dist/languageService/fileWatcherDynamicFeature.js +28 -1
  184. package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
  185. package/dist/languageService/hoverProvider.d.ts +2 -1
  186. package/dist/languageService/hoverProvider.js +48 -16
  187. package/dist/languageService/hoverProvider.js.map +1 -1
  188. package/dist/languageService/importSorter.d.ts +3 -1
  189. package/dist/languageService/importSorter.js +4 -2
  190. package/dist/languageService/importSorter.js.map +1 -1
  191. package/dist/languageService/importStatementCandidates.js +4 -2
  192. package/dist/languageService/importStatementCandidates.js.map +1 -1
  193. package/dist/languageService/quickActions.js +2 -1
  194. package/dist/languageService/quickActions.js.map +1 -1
  195. package/dist/languageService/referencesProvider.js +12 -5
  196. package/dist/languageService/referencesProvider.js.map +1 -1
  197. package/dist/languageService/signatureHelpProvider.d.ts +3 -0
  198. package/dist/languageService/signatureHelpProvider.js +56 -18
  199. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  200. package/dist/languageService/symbolIndexer.d.ts +2 -1
  201. package/dist/languageService/symbolIndexer.js +7 -7
  202. package/dist/languageService/symbolIndexer.js.map +1 -1
  203. package/dist/languageService/tooltipUtils.d.ts +1 -1
  204. package/dist/languageService/tooltipUtils.js +103 -35
  205. package/dist/languageService/tooltipUtils.js.map +1 -1
  206. package/dist/languageService/workspaceSymbolProvider.js +3 -2
  207. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  208. package/dist/localization/localize.d.ts +12 -0
  209. package/dist/localization/localize.js +14 -0
  210. package/dist/localization/localize.js.map +1 -1
  211. package/dist/localization/package.nls.cs.json +11 -0
  212. package/dist/localization/package.nls.de.json +11 -0
  213. package/dist/localization/package.nls.en-us.json +18 -0
  214. package/dist/localization/package.nls.es.json +11 -0
  215. package/dist/localization/package.nls.fr.json +11 -0
  216. package/dist/localization/package.nls.it.json +11 -0
  217. package/dist/localization/package.nls.ja.json +11 -0
  218. package/dist/localization/package.nls.ko.json +11 -0
  219. package/dist/localization/package.nls.pl.json +11 -0
  220. package/dist/localization/package.nls.pt-br.json +11 -0
  221. package/dist/localization/package.nls.qps-ploc.json +11 -0
  222. package/dist/localization/package.nls.ru.json +11 -0
  223. package/dist/localization/package.nls.tr.json +11 -0
  224. package/dist/localization/package.nls.zh-cn.json +12 -1
  225. package/dist/localization/package.nls.zh-tw.json +13 -2
  226. package/dist/parser/parseNodes.d.ts +85 -80
  227. package/dist/parser/parseNodes.js +182 -159
  228. package/dist/parser/parseNodes.js.map +1 -1
  229. package/dist/parser/parseTreeUtils.d.ts +3 -0
  230. package/dist/parser/parseTreeUtils.js +209 -0
  231. package/dist/parser/parseTreeUtils.js.map +1 -0
  232. package/dist/parser/parser.d.ts +16 -6
  233. package/dist/parser/parser.js +210 -144
  234. package/dist/parser/parser.js.map +1 -1
  235. package/dist/parser/stringAnnotationInfo.d.ts +16 -0
  236. package/dist/parser/stringAnnotationInfo.js +26 -0
  237. package/dist/parser/stringAnnotationInfo.js.map +1 -0
  238. package/dist/readonlyAugmentedFileSystem.d.ts +2 -9
  239. package/dist/readonlyAugmentedFileSystem.js +17 -144
  240. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  241. package/dist/server.js +2 -2
  242. package/dist/server.js.map +1 -1
  243. package/dist/tests/analyzerNodeInfo.test.d.ts +1 -0
  244. package/dist/tests/analyzerNodeInfo.test.js +113 -0
  245. package/dist/tests/analyzerNodeInfo.test.js.map +1 -0
  246. package/dist/tests/collectionUtils.test.js +46 -0
  247. package/dist/tests/collectionUtils.test.js.map +1 -1
  248. package/dist/tests/completions.test.js +34 -0
  249. package/dist/tests/completions.test.js.map +1 -1
  250. package/dist/tests/config.test.js +131 -6
  251. package/dist/tests/config.test.js.map +1 -1
  252. package/dist/tests/extraPathGlob.test.d.ts +1 -0
  253. package/dist/tests/extraPathGlob.test.js +434 -0
  254. package/dist/tests/extraPathGlob.test.js.map +1 -0
  255. package/dist/tests/fileSystemMapping.test.d.ts +1 -0
  256. package/dist/tests/fileSystemMapping.test.js +458 -0
  257. package/dist/tests/fileSystemMapping.test.js.map +1 -0
  258. package/dist/tests/fourslash/completions.call.typedDict.fourslash.js +23 -0
  259. package/dist/tests/fourslash/completions.call.typedDict.fourslash.js.map +1 -1
  260. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js +14 -0
  261. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js.map +1 -1
  262. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js +7 -0
  263. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js.map +1 -1
  264. package/dist/tests/fourslash/completions.callSite.isinstanceNarrowing.fourslash.d.ts +1 -0
  265. package/dist/tests/fourslash/completions.callSite.isinstanceNarrowing.fourslash.js +41 -0
  266. package/dist/tests/fourslash/completions.callSite.isinstanceNarrowing.fourslash.js.map +1 -0
  267. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js +2 -0
  268. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js.map +1 -1
  269. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js +5 -0
  270. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js.map +1 -1
  271. package/dist/tests/fourslash/completions.stringLiteral.fourslash.js +4 -0
  272. package/dist/tests/fourslash/completions.stringLiteral.fourslash.js.map +1 -1
  273. package/dist/tests/fourslash/findallreferences.protocolMemberVariable.fourslash.d.ts +1 -0
  274. package/dist/tests/fourslash/findallreferences.protocolMemberVariable.fourslash.js +48 -0
  275. package/dist/tests/fourslash/findallreferences.protocolMemberVariable.fourslash.js.map +1 -0
  276. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js +8 -2
  277. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js.map +1 -1
  278. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js +5 -2
  279. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js.map +1 -1
  280. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js +2 -2
  281. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js.map +1 -1
  282. package/dist/tests/harness/fourslash/testState.js +1 -1
  283. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  284. package/dist/tests/hoverProvider.test.js +38 -0
  285. package/dist/tests/hoverProvider.test.js.map +1 -1
  286. package/dist/tests/importStatementUtils.test.js +6 -3
  287. package/dist/tests/importStatementUtils.test.js.map +1 -1
  288. package/dist/tests/ipythonMode.test.js +38 -0
  289. package/dist/tests/ipythonMode.test.js.map +1 -1
  290. package/dist/tests/parseTreeUtils.test.js +88 -0
  291. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  292. package/dist/tests/parser.test.js +60 -3
  293. package/dist/tests/parser.test.js.map +1 -1
  294. package/dist/tests/positionUtils.test.js +23 -0
  295. package/dist/tests/positionUtils.test.js.map +1 -1
  296. package/dist/tests/pyrightFileSystem.test.js +41 -0
  297. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  298. package/dist/tests/service.test.js +77 -0
  299. package/dist/tests/service.test.js.map +1 -1
  300. package/dist/tests/sourceEnumeratorSymlink.test.d.ts +1 -0
  301. package/dist/tests/sourceEnumeratorSymlink.test.js +203 -0
  302. package/dist/tests/sourceEnumeratorSymlink.test.js.map +1 -0
  303. package/dist/tests/stringUtils.test.js +84 -0
  304. package/dist/tests/stringUtils.test.js.map +1 -1
  305. package/dist/tests/symlinkAliasInvalidation.test.d.ts +1 -0
  306. package/dist/tests/symlinkAliasInvalidation.test.js +471 -0
  307. package/dist/tests/symlinkAliasInvalidation.test.js.map +1 -0
  308. package/dist/tests/testUtils.d.ts +2 -0
  309. package/dist/tests/testUtils.js +7 -1
  310. package/dist/tests/testUtils.js.map +1 -1
  311. package/dist/tests/textEditUtil.test.js +2 -2
  312. package/dist/tests/textEditUtil.test.js.map +1 -1
  313. package/dist/tests/textRangeCollection.test.d.ts +1 -0
  314. package/dist/tests/textRangeCollection.test.js +137 -0
  315. package/dist/tests/textRangeCollection.test.js.map +1 -0
  316. package/dist/tests/typeCacheUtils.test.d.ts +1 -0
  317. package/dist/tests/typeCacheUtils.test.js +69 -0
  318. package/dist/tests/typeCacheUtils.test.js.map +1 -0
  319. package/dist/tests/typeEvaluator1.test.js +24 -3
  320. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  321. package/dist/tests/typeEvaluator3.test.js +8 -0
  322. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  323. package/dist/tests/typeEvaluator4.test.js +4 -0
  324. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  325. package/dist/tests/typeEvaluator5.test.js +12 -0
  326. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  327. package/dist/tests/typeEvaluator6.test.js +33 -1
  328. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  329. package/dist/tests/typeEvaluator7.test.js +29 -0
  330. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  331. package/dist/tests/typeEvaluator8.test.js +318 -4
  332. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  333. package/dist/tests/typeServer/typeCache.test.d.ts +1 -0
  334. package/dist/tests/typeServer/typeCache.test.js +69 -0
  335. package/dist/tests/typeServer/typeCache.test.js.map +1 -0
  336. package/dist/tests/typeServer/typeServer.virtualFileRedirect.test.js +18 -0
  337. package/dist/tests/typeServer/typeServer.virtualFileRedirect.test.js.map +1 -1
  338. package/dist/tests/types.test.d.ts +1 -0
  339. package/dist/{analyzer/parseTreeCleaner.js → tests/types.test.js} +23 -25
  340. package/dist/tests/types.test.js.map +1 -0
  341. package/dist/tests/uri.test.js +51 -0
  342. package/dist/tests/uri.test.js.map +1 -1
  343. package/dist/typeServer/notebookDocumentHandler.d.ts +9 -2
  344. package/dist/typeServer/notebookDocumentHandler.js +16 -6
  345. package/dist/typeServer/notebookDocumentHandler.js.map +1 -1
  346. package/dist/typeServer/programWrapper.d.ts +1 -0
  347. package/dist/typeServer/programWrapper.js +28 -15
  348. package/dist/typeServer/programWrapper.js.map +1 -1
  349. package/dist/typeServer/protocol/tspSupplemental.d.ts +1 -1
  350. package/dist/typeServer/protocol/tspSupplemental.js +2 -2
  351. package/dist/typeServer/server.d.ts +13 -2
  352. package/dist/typeServer/server.js +36 -23
  353. package/dist/typeServer/server.js.map +1 -1
  354. package/dist/typeServer/typeCache.d.ts +8 -4
  355. package/dist/typeServer/typeCache.js +33 -5
  356. package/dist/typeServer/typeCache.js.map +1 -1
  357. package/dist/typeServer/typeEvalUtils.d.ts +2 -1
  358. package/dist/typeServer/typeEvalUtils.js +7 -3
  359. package/dist/typeServer/typeEvalUtils.js.map +1 -1
  360. package/dist/typeServer/typeServerFileSystem.d.ts +10 -9
  361. package/dist/typeServer/typeServerFileSystem.js +16 -12
  362. package/dist/typeServer/typeServerFileSystem.js.map +1 -1
  363. package/package.json +7 -5
  364. package/dist/analyzer/parseTreeCleaner.d.ts +0 -8
  365. package/dist/analyzer/parseTreeCleaner.js.map +0 -1
@@ -0,0 +1,315 @@
1
+ "use strict";
2
+ /*
3
+ * extraPathGlob.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ *
7
+ * Expands glob patterns in `extraPaths` entries into concrete directory URIs.
8
+ *
9
+ * The behavior is specified in `docs/import-resolution.md` (see "Extra Path Glob
10
+ * Expansion"). In short:
11
+ * - Each raw entry may contain the wildcards `*`, `**`, or `?`, using the same
12
+ * syntax as `include`/`exclude`/`ignore`. Only directories are matched.
13
+ * - A glob entry is expanded, in place, to the directories it matches, sorted
14
+ * in ascending order using a case-sensitive, platform-independent comparison.
15
+ * - De-duplication precedence is: an explicit (non-wildcard) entry always wins
16
+ * and keeps its own position, even relative to an earlier glob; among globs,
17
+ * the earlier glob wins. Two literal entries that resolve to the same path
18
+ * keep the first occurrence.
19
+ * - Symbolic links are not resolved (the matched path is used as-is so it maps
20
+ * to the intended module name), but symbolic-link cycles are guarded against.
21
+ * - A glob that matches no directory contributes nothing; this is not an error.
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.containsWildcard = containsWildcard;
25
+ exports.getExtraPathWatchTargets = getExtraPathWatchTargets;
26
+ exports.extraPathWatchTargetCovers = extraPathWatchTargetCovers;
27
+ exports.expandExtraPaths = expandExtraPaths;
28
+ const pathUtils_1 = require("./pathUtils");
29
+ const uri_1 = require("./uri/uri");
30
+ const uriUtils_1 = require("./uri/uriUtils");
31
+ // Returns true if the entry contains a glob wildcard character.
32
+ function containsWildcard(entry) {
33
+ return (0, uriUtils_1.containsWildcardCharacter)(entry);
34
+ }
35
+ // Reconstructs a `Uri` from an `extraPaths` file-spec string. Settings-origin entries
36
+ // are kept as plain strings so wildcard characters (`*`, `**`, `?`) survive verbatim; a
37
+ // `Uri` built from such a string keeps the wildcards as literal path components (parsing
38
+ // a full URI string, or treating a path string as a file path, as appropriate).
39
+ function fileSpecToUri(fileSpec, caseDetector) {
40
+ return uri_1.Uri.maybeUri(fileSpec) ? uri_1.Uri.parse(fileSpec, caseDetector) : uri_1.Uri.file(fileSpec, caseDetector);
41
+ }
42
+ // Derives file-watch targets from `extraPaths` file specs whose paths may still contain
43
+ // wildcard characters. Entries are kept as strings so `*`, `**`, and `?` survive; a spec
44
+ // with no wildcard produces no target (its fixed directory is already covered by the
45
+ // expanded search paths).
46
+ function getExtraPathWatchTargets(fileSpecs, caseDetector) {
47
+ const targets = [];
48
+ for (const fileSpec of fileSpecs) {
49
+ const uri = fileSpecToUri(fileSpec, caseDetector);
50
+ // Derive the non-wildcard root with the exact same `getWildcardRoot` helper that
51
+ // `_expandGlobEntry` uses to expand the glob. The watch root and the expansion root
52
+ // MUST stay byte-identical or the watcher would be rooted differently than the
53
+ // directories the glob actually covers; sharing one implementation prevents that drift.
54
+ const root = (0, uriUtils_1.getWildcardRoot)(uri, '');
55
+ const components = Array.from(uri.getPathComponents());
56
+ const rootLength = Array.from(root.getPathComponents()).length;
57
+ // No wildcard component: the spec's fixed directory is already covered by the
58
+ // expanded search paths, so it contributes no glob watch target.
59
+ if (rootLength >= components.length) {
60
+ continue;
61
+ }
62
+ targets.push({ root, dirPattern: components.slice(rootLength).join('/') });
63
+ }
64
+ return targets;
65
+ }
66
+ // Returns true when `folder` is one of the directories the watch target's glob
67
+ // matches (or a directory beneath one), i.e. the folder is already covered by the
68
+ // glob watcher and does not need its own folder watcher.
69
+ function extraPathWatchTargetCovers(target, folder) {
70
+ return folder.matchesRegex((0, uriUtils_1.getFileSpec)(target.root, target.dirPattern).regExp);
71
+ }
72
+ // Expands an ordered list of raw `extraPaths` entries into resolved directory
73
+ // URIs, applying glob expansion and the de-duplication precedence described at
74
+ // the top of this file. `baseUri` is the directory that relative entries resolve
75
+ // against (the config file's directory for config entries, or the project root
76
+ // for the setting).
77
+ function expandExtraPaths(fs, baseUri, entries, console) {
78
+ // Ignore empty or whitespace-only entries. Such entries would otherwise
79
+ // resolve to the base directory (for '') or a nonexistent path, silently
80
+ // polluting the search-path list; they are always user mistakes.
81
+ const cleaned = entries.filter((entry) => entry.trim().length > 0);
82
+ // Extra-path URIs share the workspace's case sensitivity (consistent with the glob matcher
83
+ // below, which also derives case sensitivity from `baseUri`).
84
+ const caseDetector = { isCaseSensitive: () => baseUri.isCaseSensitive };
85
+ // Phase 1: resolve every literal entry and claim its normalized key so that an
86
+ // explicit entry always wins over any glob-produced duplicate, regardless of
87
+ // where the literal appears in the list.
88
+ const claimedByExplicit = new Set();
89
+ const literalByIndex = cleaned.map((entry) => {
90
+ if (containsWildcard(entry)) {
91
+ return undefined;
92
+ }
93
+ // A URI-form entry is an absolute location; parse it directly. Resolving it against the
94
+ // base directory would corrupt the scheme (`resolvePaths` would treat it as a path).
95
+ const uri = uri_1.Uri.maybeUri(entry) ? uri_1.Uri.parse(entry, caseDetector) : baseUri.resolvePaths(entry);
96
+ claimedByExplicit.add(_normalizedKey(uri));
97
+ return uri;
98
+ });
99
+ // Phase 2: emit entries in order. Literals keep their position; globs expand
100
+ // in place, dropping any directory already owned by an explicit entry or
101
+ // already emitted by an earlier entry (an earlier glob or a literal).
102
+ const result = [];
103
+ const emitted = new Set();
104
+ cleaned.forEach((entry, index) => {
105
+ const literal = literalByIndex[index];
106
+ if (literal) {
107
+ const key = _normalizedKey(literal);
108
+ if (!emitted.has(key)) {
109
+ emitted.add(key);
110
+ result.push(literal);
111
+ }
112
+ return;
113
+ }
114
+ // Globs are only supported for plain paths. A wildcard inside a URI-form entry can't be
115
+ // filesystem-walked, so skip it (only pure paths reach the glob matcher).
116
+ if (uri_1.Uri.maybeUri(entry)) {
117
+ console?.info(`Skipping glob expansion for non-path extra path "${entry}".`);
118
+ return;
119
+ }
120
+ for (const match of _expandGlobEntry(fs, baseUri, entry, console)) {
121
+ const key = _normalizedKey(match);
122
+ if (claimedByExplicit.has(key) || emitted.has(key)) {
123
+ continue;
124
+ }
125
+ emitted.add(key);
126
+ result.push(match);
127
+ }
128
+ });
129
+ return result;
130
+ }
131
+ // Threshold above which a `**` extra-path glob is treated as pathologically broad. Crossing it
132
+ // emits a one-time warning to the output window; expansion still proceeds.
133
+ const _largeGlobScanThreshold = 10000;
134
+ // Hard ceiling on the number of directories a single glob entry may scan. Unlike
135
+ // `_largeGlobScanThreshold` (which only warns), crossing this aborts further traversal of the
136
+ // entry so a pathological layout (e.g. a deep symlink DAG whose aliases each re-expand a shared
137
+ // subtree) cannot turn config load into an unbounded synchronous walk. Whatever matched before the
138
+ // ceiling is still returned.
139
+ const _largeGlobScanHardLimit = 100000;
140
+ // Expands a single glob entry into the directories it matches, sorted ascending.
141
+ function _expandGlobEntry(fs, baseUri, entry, console) {
142
+ const absolute = baseUri.resolvePaths(entry);
143
+ // Enumeration requires synchronous file-system access, which is only available
144
+ // for file URIs. Non-file schemes contribute nothing.
145
+ if (absolute.scheme !== '' && absolute.scheme !== 'file') {
146
+ console?.info(`Skipping glob expansion for non-file extra path "${entry}".`);
147
+ return [];
148
+ }
149
+ const wildcardRoot = (0, uriUtils_1.getWildcardRoot)(baseUri, entry);
150
+ const absoluteComponents = Array.from(absolute.getPathComponents());
151
+ const rootComponents = Array.from(wildcardRoot.getPathComponents());
152
+ const rawTail = absoluteComponents.slice(rootComponents.length);
153
+ if (rawTail.length === 0) {
154
+ return [];
155
+ }
156
+ // Collapse runs of consecutive `**` into a single `**`. Multiple adjacent
157
+ // `**` segments (e.g. `packages/**/**/src`) are semantically identical to a
158
+ // single `**` but would otherwise multiply the traversal fan-out.
159
+ const tail = [];
160
+ for (const component of rawTail) {
161
+ if (component === '**' && tail[tail.length - 1] === '**') {
162
+ continue;
163
+ }
164
+ tail.push(component);
165
+ }
166
+ const caseSensitive = baseUri.isCaseSensitive;
167
+ const matches = new Map();
168
+ // Guards against symbolic-link cycles: tracks the real path of each directory
169
+ // on the current traversal path so we never descend into a directory that is
170
+ // already an ancestor of itself.
171
+ const activePath = new Set();
172
+ // Memoizes (logical directory, tailIndex) pairs already processed so a diamond
173
+ // directory layout or broad `**` glob over a large tree cannot trigger
174
+ // combinatorial re-traversal of the same subtree. The key is the *logical*
175
+ // path (not the real path) so distinct symlink aliases pointing at the same
176
+ // target are each still emitted; cycle-breaking uses the real path via
177
+ // `activePath` below.
178
+ const visited = new Set();
179
+ // Emit a one-time warning when a `**` glob traverses a pathologically large tree; expansion
180
+ // still proceeds (mirrors how the include/exclude source scan reports issues). A separate hard
181
+ // limit (`_largeGlobScanHardLimit`) actually bounds the walk by aborting past a ceiling.
182
+ let directoriesScanned = 0;
183
+ let warnedLargeScan = false;
184
+ let abortedLargeScan = false;
185
+ // Processes the remaining tail at `dirUri` without moving to a new directory.
186
+ const visit = (dirUri, tailIndex) => {
187
+ if (abortedLargeScan) {
188
+ return;
189
+ }
190
+ if (tailIndex === tail.length) {
191
+ matches.set(_normalizedKey(dirUri), dirUri);
192
+ return;
193
+ }
194
+ const component = tail[tailIndex];
195
+ if (component === '**') {
196
+ // `**` matches zero or more path segments: try the rest of the tail at
197
+ // the current directory (consuming zero segments), and also descend into
198
+ // each subdirectory while keeping `**` at the same position.
199
+ visit(dirUri, tailIndex + 1);
200
+ for (const subDir of (0, uriUtils_1.getFileSystemEntriesWithSymlinkedDirectories)(fs, dirUri).directories) {
201
+ descend(subDir, tailIndex);
202
+ }
203
+ }
204
+ else if (containsWildcard(component)) {
205
+ const segmentRegex = _segmentToRegex(component, caseSensitive);
206
+ for (const subDir of (0, uriUtils_1.getFileSystemEntriesWithSymlinkedDirectories)(fs, dirUri).directories) {
207
+ if (segmentRegex.test(subDir.fileName)) {
208
+ descend(subDir, tailIndex + 1);
209
+ }
210
+ }
211
+ }
212
+ else {
213
+ const next = dirUri.combinePaths(component);
214
+ if ((0, uriUtils_1.isDirectory)(fs, next)) {
215
+ descend(next, tailIndex + 1);
216
+ }
217
+ }
218
+ };
219
+ // Enters a (potentially new) directory, guarding against symbolic-link cycles,
220
+ // then processes the tail at that directory.
221
+ const descend = (dirUri, tailIndex) => {
222
+ if (abortedLargeScan) {
223
+ return;
224
+ }
225
+ const realPath = (0, uriUtils_1.tryRealpath)(fs, dirUri);
226
+ if (!realPath) {
227
+ return;
228
+ }
229
+ if (activePath.has(realPath.key)) {
230
+ console?.info(`Skipping recursive symlink "${dirUri.toUserVisibleString()}".`);
231
+ return;
232
+ }
233
+ const memoKey = `${_normalizedKey(dirUri)}:${tailIndex}`;
234
+ if (visited.has(memoKey)) {
235
+ return;
236
+ }
237
+ visited.add(memoKey);
238
+ directoriesScanned++;
239
+ if (!warnedLargeScan && directoriesScanned > _largeGlobScanThreshold) {
240
+ warnedLargeScan = true;
241
+ console?.warn(`Expanding the "extraPaths" glob "${entry}" has scanned more than ${_largeGlobScanThreshold} ` +
242
+ `directories, which can slow analysis. Consider narrowing the pattern (for example, avoid a bare "**").`);
243
+ }
244
+ if (directoriesScanned > _largeGlobScanHardLimit) {
245
+ abortedLargeScan = true;
246
+ console?.warn(`Expanding the "extraPaths" glob "${entry}" exceeded the hard limit of ${_largeGlobScanHardLimit} ` +
247
+ `directories and was aborted to protect analysis performance. Narrow the pattern (for example, ` +
248
+ `avoid a bare "**" over a large or symlinked tree).`);
249
+ return;
250
+ }
251
+ activePath.add(realPath.key);
252
+ try {
253
+ visit(dirUri, tailIndex);
254
+ }
255
+ finally {
256
+ activePath.delete(realPath.key);
257
+ }
258
+ };
259
+ descend(wildcardRoot, 0);
260
+ // Sort using an ordinal comparison (code-unit order via the `<`/`>` operators,
261
+ // not `localeCompare`) of a stable path key so the expanded directory order is
262
+ // deterministic and identical across locales, encodings, and operating systems.
263
+ // Locale-aware collation would reorder these entries by the user's culture
264
+ // (e.g. case-insensitively), which must not influence import resolution.
265
+ return Array.from(matches.values()).sort((a, b) => {
266
+ const keyA = _sortKey(a);
267
+ const keyB = _sortKey(b);
268
+ if (keyA < keyB) {
269
+ return -1;
270
+ }
271
+ if (keyA > keyB) {
272
+ return 1;
273
+ }
274
+ // The NFC-normalized keys tie. This happens only for byte-distinct sibling
275
+ // directories whose names are NFC-equal (e.g. an NFD and an NFC spelling of
276
+ // the same name that both exist on disk). Break the tie by the raw decoded
277
+ // path so the result is a deterministic total order rather than falling back
278
+ // to (OS-dependent) directory-enumeration order.
279
+ const rawA = (0, pathUtils_1.normalizeSlashes)(a.getFilePath(), '/');
280
+ const rawB = (0, pathUtils_1.normalizeSlashes)(b.getFilePath(), '/');
281
+ return rawA < rawB ? -1 : rawA > rawB ? 1 : 0;
282
+ });
283
+ }
284
+ // Converts a single glob path segment (which may contain `*` or `?`, but not
285
+ // `**`) into an anchored regular expression that matches a directory name. The
286
+ // per-segment translation is shared with `include`/`exclude` matching (see
287
+ // `getWildcardSegmentRegexFragment`) so the two glob engines stay consistent.
288
+ function _segmentToRegex(segment, caseSensitive) {
289
+ const pattern = (0, uriUtils_1.getWildcardSegmentRegexFragment)(segment);
290
+ return new RegExp(`^${pattern}$`, caseSensitive ? undefined : 'i');
291
+ }
292
+ // Produces a case-sensitive key for a URI used for de-duplication. It is
293
+ // intentionally case-sensitive (even on case-insensitive file systems) because
294
+ // directory case affects the resolved module name. (Ordering uses `_sortKey`.)
295
+ function _normalizedKey(uri) {
296
+ const text = uri.toString();
297
+ if (text.length > 1 && text.endsWith('/')) {
298
+ return text.slice(0, -1);
299
+ }
300
+ return text;
301
+ }
302
+ // Produces the ordinal sort key for an expanded glob match. Uses the *decoded*
303
+ // file path (not the percent-encoded `uri.toString()`) so the order reflects the
304
+ // actual path characters and matches the spec's "sort by normalized path"
305
+ // contract: e.g. `Z` (U+005A) sorts before `é` (U+00E9), whereas the encoded form
306
+ // `%C3%A9` (leading `%`, U+0025) would sort ahead of every ASCII letter. Slashes
307
+ // are normalized to `/` and the string is Unicode-normalized to NFC so that a
308
+ // name stored as NFD (e.g. on macOS) and the same name as NFC (e.g. on Linux)
309
+ // yield an identical key, keeping the order stable across operating systems and
310
+ // normalization forms. Case is preserved (the sort, like de-duplication, is
311
+ // case-sensitive). Only file-scheme directories reach this function.
312
+ function _sortKey(uri) {
313
+ return (0, pathUtils_1.normalizeSlashes)(uri.getFilePath(), '/').normalize('NFC');
314
+ }
315
+ //# sourceMappingURL=extraPathGlob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraPathGlob.js","sourceRoot":"","sources":["../../../../../src/common/extraPathGlob.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export interface ProcessSpawnOptions {
24
24
  cwd?: string;
25
25
  env?: Record<string, string | undefined>;
26
26
  stdio?: any;
27
+ windowsHide?: boolean;
27
28
  }
28
29
  /**
29
30
  * Minimal abstraction over a spawned child process.
@@ -38,6 +39,7 @@ export interface SpawnedProcess {
38
39
  readonly stdin: any;
39
40
  readonly stderr: any;
40
41
  on(event: string, listener: (...args: any[]) => void): void;
42
+ kill?(signal?: number | string): void;
41
43
  }
42
44
  export interface Host {
43
45
  readonly kind: HostKind;
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../src/common/host.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAUH,IAAkB,QAIjB;AAJD,WAAkB,QAAQ;IACtB,mDAAU,CAAA;IACV,yDAAa,CAAA;IACb,+CAAQ,CAAA;AACZ,CAAC,EAJiB,QAAQ,wBAAR,QAAQ,QAIzB;AAuED,MAAa,YAAY;IACrB,IAAI,IAAI;QACJ,iCAAyB;IAC7B,CAAC;IAED,oBAAoB,CAAC,UAAgB,EAAE,aAA4B,EAAE,GAAS;QAC1E,aAAa,EAAE,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAEtD,OAAO;YACH,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,SAAS;SACpB,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,UAAgB,EAAE,aAA4B;QAC3D,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,aAA4B;QAC1C,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,SAAS,CACX,UAA2B,EAC3B,UAAe,EACf,IAAc,EACd,GAAQ,EACR,KAAwB;QAExB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,UAA2B,EAC3B,IAAY,EACZ,IAAc,EACd,GAAQ,EACR,KAAwB;QAExB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,KAAe,EAAE,QAA6B;QACrE,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AA7CD,oCA6CC"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../src/common/host.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAUH,IAAkB,QAIjB;AAJD,WAAkB,QAAQ;IACtB,mDAAU,CAAA;IACV,yDAAa,CAAA;IACb,+CAAQ,CAAA;AACZ,CAAC,EAJiB,QAAQ,wBAAR,QAAQ,QAIzB;AA4ED,MAAa,YAAY;IACrB,IAAI,IAAI;QACJ,iCAAyB;IAC7B,CAAC;IAED,oBAAoB,CAAC,UAAgB,EAAE,aAA4B,EAAE,GAAS;QAC1E,aAAa,EAAE,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAEtD,OAAO;YACH,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,SAAS;SACpB,CAAC;IACN,CAAC;IAED,gBAAgB,CAAC,UAAgB,EAAE,aAA4B;QAC3D,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,aAA4B;QAC1C,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,SAAS,CACX,UAA2B,EAC3B,UAAe,EACf,IAAc,EACd,GAAQ,EACR,KAAwB;QAExB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,UAA2B,EAC3B,IAAY,EACZ,IAAc,EACd,GAAQ,EACR,KAAwB;QAExB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,KAAe,EAAE,QAA6B;QACrE,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AA7CD,oCA6CC"}
@@ -21,7 +21,8 @@ export interface ServerSettings {
21
21
  disableTaggedHints?: boolean | undefined;
22
22
  disableOrganizeImports?: boolean | undefined;
23
23
  autoSearchPaths?: boolean | undefined;
24
- extraPaths?: Uri[] | undefined;
24
+ useDefaultExcludes?: boolean | undefined;
25
+ extraPathFileSpecs?: string[] | undefined;
25
26
  watchForSourceChanges?: boolean | undefined;
26
27
  watchForLibraryChanges?: boolean | undefined;
27
28
  watchForConfigChanges?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"languageServerInterface.js","sourceRoot":"","sources":["../../../../../src/common/languageServerInterface.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AA4DH,IAAiB,eAAe,CAS/B;AATD,WAAiB,eAAe;IAC5B,SAAgB,EAAE,CAAC,GAAQ;QACvB,OAAO,CACH,CAAC,CAAC,GAAG;YACL,GAAG,CAAC,gBAAgB,KAAK,SAAS;YAClC,GAAG,CAAC,kBAAkB,KAAK,SAAS;YACpC,GAAG,CAAC,sBAAsB,KAAK,SAAS,CAC3C,CAAC;IACN,CAAC;IAPe,kBAAE,KAOjB,CAAA;AACL,CAAC,EATgB,eAAe,+BAAf,eAAe,QAS/B;AA2CD,IAAiB,aAAa,CAI7B;AAJD,WAAiB,aAAa;IAC1B,SAAgB,EAAE,CAAC,GAAQ;QACvB,OAAO,GAAG,CAAC,sBAAsB,KAAK,SAAS,IAAI,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/E,CAAC;IAFe,gBAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,aAAa,6BAAb,aAAa,QAI7B;AAMD,IAAiB,cAAc,CAI9B;AAJD,WAAiB,cAAc;IAC3B,SAAgB,EAAE,CAAC,GAAQ;QACvB,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC;IAClD,CAAC;IAFe,iBAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,cAAc,8BAAd,cAAc,QAI9B"}
1
+ {"version":3,"file":"languageServerInterface.js","sourceRoot":"","sources":["../../../../../src/common/languageServerInterface.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AA6DH,IAAiB,eAAe,CAS/B;AATD,WAAiB,eAAe;IAC5B,SAAgB,EAAE,CAAC,GAAQ;QACvB,OAAO,CACH,CAAC,CAAC,GAAG;YACL,GAAG,CAAC,gBAAgB,KAAK,SAAS;YAClC,GAAG,CAAC,kBAAkB,KAAK,SAAS;YACpC,GAAG,CAAC,sBAAsB,KAAK,SAAS,CAC3C,CAAC;IACN,CAAC;IAPe,kBAAE,KAOjB,CAAA;AACL,CAAC,EATgB,eAAe,+BAAf,eAAe,QAS/B;AA2CD,IAAiB,aAAa,CAI7B;AAJD,WAAiB,aAAa;IAC1B,SAAgB,EAAE,CAAC,GAAQ;QACvB,OAAO,GAAG,CAAC,sBAAsB,KAAK,SAAS,IAAI,eAAe,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC/E,CAAC;IAFe,gBAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,aAAa,6BAAb,aAAa,QAI7B;AAMD,IAAiB,cAAc,CAI9B;AAJD,WAAiB,cAAc;IAC3B,SAAgB,EAAE,CAAC,GAAQ;QACvB,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC;IAClD,CAAC;IAFe,iBAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,cAAc,8BAAd,cAAc,QAI9B"}
@@ -11,3 +11,4 @@ export declare const requirementsFileName = "requirements.txt";
11
11
  export declare const pyprojectTomlName = "pyproject.toml";
12
12
  export declare const dotPythonVersionName = ".python-version";
13
13
  export declare const configFileName = "pyrightconfig.json";
14
+ export declare const defaultExcludes: readonly ["**/node_modules", "**/__pycache__", "**/.*", "**/__editable__.*"];
@@ -7,7 +7,7 @@
7
7
  * Path-related constants.
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.configFileName = exports.dotPythonVersionName = exports.pyprojectTomlName = exports.requirementsFileName = exports.defaultStubsDirectory = exports.stubsSuffix = exports.src = exports.distPackages = exports.sitePackages = exports.lib64 = exports.libAlternate = exports.lib = exports.typeshedFallback = void 0;
10
+ exports.defaultExcludes = exports.configFileName = exports.dotPythonVersionName = exports.pyprojectTomlName = exports.requirementsFileName = exports.defaultStubsDirectory = exports.stubsSuffix = exports.src = exports.distPackages = exports.sitePackages = exports.lib64 = exports.libAlternate = exports.lib = exports.typeshedFallback = void 0;
11
11
  exports.typeshedFallback = 'typeshed-fallback';
12
12
  exports.lib = 'lib';
13
13
  exports.libAlternate = 'Lib';
@@ -21,4 +21,14 @@ exports.requirementsFileName = 'requirements.txt';
21
21
  exports.pyprojectTomlName = 'pyproject.toml';
22
22
  exports.dotPythonVersionName = '.python-version';
23
23
  exports.configFileName = 'pyrightconfig.json';
24
+ // Default exclude glob patterns applied when the user has not specified any
25
+ // `exclude` entries. These skip directories that commonly hold dependencies or
26
+ // build artifacts, avoiding long scan times.
27
+ // Frozen (`as const`) so this shared cross-package constant can't be mutated by a consumer.
28
+ exports.defaultExcludes = [
29
+ '**/node_modules', // Node.js dependencies
30
+ '**/__pycache__', // Python bytecode cache
31
+ '**/.*', // hidden files/directories (dotfiles)
32
+ '**/__editable__.*', // PEP 660 strict editable-install shadow tree (a build artifact)
33
+ ];
24
34
  //# sourceMappingURL=pathConsts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pathConsts.js","sourceRoot":"","sources":["../../../../../src/common/pathConsts.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEU,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AACvC,QAAA,GAAG,GAAG,KAAK,CAAC;AACZ,QAAA,YAAY,GAAG,KAAK,CAAC;AACrB,QAAA,KAAK,GAAG,OAAO,CAAC;AAChB,QAAA,YAAY,GAAG,eAAe,CAAC;AAC/B,QAAA,YAAY,GAAG,eAAe,CAAC;AAC/B,QAAA,GAAG,GAAG,KAAK,CAAC;AACZ,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,qBAAqB,GAAG,SAAS,CAAC;AAClC,QAAA,oBAAoB,GAAG,kBAAkB,CAAC;AAC1C,QAAA,iBAAiB,GAAG,gBAAgB,CAAC;AACrC,QAAA,oBAAoB,GAAG,iBAAiB,CAAC;AACzC,QAAA,cAAc,GAAG,oBAAoB,CAAC"}
1
+ {"version":3,"file":"pathConsts.js","sourceRoot":"","sources":["../../../../../src/common/pathConsts.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEU,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AACvC,QAAA,GAAG,GAAG,KAAK,CAAC;AACZ,QAAA,YAAY,GAAG,KAAK,CAAC;AACrB,QAAA,KAAK,GAAG,OAAO,CAAC;AAChB,QAAA,YAAY,GAAG,eAAe,CAAC;AAC/B,QAAA,YAAY,GAAG,eAAe,CAAC;AAC/B,QAAA,GAAG,GAAG,KAAK,CAAC;AACZ,QAAA,WAAW,GAAG,QAAQ,CAAC;AACvB,QAAA,qBAAqB,GAAG,SAAS,CAAC;AAClC,QAAA,oBAAoB,GAAG,kBAAkB,CAAC;AAC1C,QAAA,iBAAiB,GAAG,gBAAgB,CAAC;AACrC,QAAA,oBAAoB,GAAG,iBAAiB,CAAC;AACzC,QAAA,cAAc,GAAG,oBAAoB,CAAC;AAEnD,4EAA4E;AAC5E,+EAA+E;AAC/E,6CAA6C;AAC7C,4FAA4F;AAC/E,QAAA,eAAe,GAAG;IAC3B,iBAAiB,EAAE,uBAAuB;IAC1C,gBAAgB,EAAE,wBAAwB;IAC1C,OAAO,EAAE,sCAAsC;IAC/C,mBAAmB,EAAE,iEAAiE;CAChF,CAAC"}
@@ -1,3 +1,5 @@
1
- import * as child_process from 'child_process';
2
1
  export declare function terminateProcessTree(pid: number): void;
3
- export declare function terminateChild(child: child_process.ChildProcess): void;
2
+ export declare function terminateChild(child: {
3
+ readonly pid?: number;
4
+ readonly exitCode: number | null;
5
+ }): void;
@@ -58,6 +58,9 @@ function terminateProcessTree(pid) {
58
58
  // Ignore.
59
59
  }
60
60
  }
61
+ // Accepts both Node's ChildProcess and the host abstraction's SpawnedProcess
62
+ // (both expose `pid` and `exitCode`), so callers routing through a Host don't
63
+ // need to cast back to a concrete child-process type.
61
64
  function terminateChild(child) {
62
65
  try {
63
66
  if (child.pid && child.exitCode === null) {
@@ -1 +1 @@
1
- {"version":3,"file":"processUtils.js","sourceRoot":"","sources":["../../../../../src/common/processUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,oDAYC;AAED,wCAQC;AA/BD;;;;;;GAMG;AACH,6DAA+C;AAE/C,SAAgB,oBAAoB,CAAC,GAAW;IAC5C,IAAI,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC/B,2EAA2E;YAC3E,aAAa,CAAC,QAAQ,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACJ,mDAAmD;YACnD,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,UAAU;IACd,CAAC;AACL,CAAC;AAED,SAAgB,cAAc,CAAC,KAAiC;IAC5D,IAAI,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACvC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,UAAU;IACd,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"processUtils.js","sourceRoot":"","sources":["../../../../../src/common/processUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,oDAYC;AAKD,wCAQC;AAlCD;;;;;;GAMG;AACH,6DAA+C;AAE/C,SAAgB,oBAAoB,CAAC,GAAW;IAC5C,IAAI,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC/B,2EAA2E;YAC3E,aAAa,CAAC,QAAQ,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACJ,mDAAmD;YACnD,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,UAAU;IACd,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,8EAA8E;AAC9E,sDAAsD;AACtD,SAAgB,cAAc,CAAC,KAAkE;IAC7F,IAAI,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YACvC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,UAAU;IACd,CAAC;AACL,CAAC"}
@@ -1,6 +1,12 @@
1
1
  import { Comparison } from './core';
2
2
  export declare function isPatternInSymbol(typedValue: string, symbolName: string): boolean;
3
3
  export declare function hashString(contents: string): number;
4
+ export interface StringFingerprint {
5
+ readonly primary: number;
6
+ readonly secondary: number;
7
+ }
8
+ export declare function getStringFingerprint(contents: string): StringFingerprint;
9
+ export declare function areStringFingerprintsEqual(left: StringFingerprint, right: StringFingerprint): boolean;
4
10
  /**
5
11
  * Compare two strings using a case-insensitive ordinal comparison.
6
12
  *
@@ -10,6 +10,8 @@
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.isPatternInSymbol = isPatternInSymbol;
12
12
  exports.hashString = hashString;
13
+ exports.getStringFingerprint = getStringFingerprint;
14
+ exports.areStringFingerprintsEqual = areStringFingerprintsEqual;
13
15
  exports.compareStringsCaseInsensitive = compareStringsCaseInsensitive;
14
16
  exports.compareStringsCaseSensitive = compareStringsCaseSensitive;
15
17
  exports.getStringComparer = getStringComparer;
@@ -24,20 +26,86 @@ const core_1 = require("./core");
24
26
  // name. Characters must appear in order.
25
27
  // Return true if all typed characters are in symbol
26
28
  function isPatternInSymbol(typedValue, symbolName) {
27
- const typedLower = typedValue.toLocaleLowerCase();
28
- const symbolLower = symbolName.toLocaleLowerCase();
29
- const typedLength = typedLower.length;
30
- const symbolLength = symbolLower.length;
29
+ // This function is extremely hot: it runs against the entire symbol index
30
+ // during auto-import and completion filtering. The original implementation
31
+ // eagerly allocated two fully lower-cased copies of both strings up front
32
+ // (via toLocaleLowerCase), even when an early character mismatch would
33
+ // immediately reject the match.
34
+ //
35
+ // Fast path: scan character-by-character with charCodeAt (no allocation) and
36
+ // fold case via a precomputed Latin-1 table (built at module init from
37
+ // toLocaleLowerCase, so it preserves the original's exact locale-sensitive
38
+ // behavior) while BOTH current characters fold to a single length-preserving
39
+ // Latin-1 code unit. The overwhelming majority of Python symbol names and typed
40
+ // queries are ASCII/Latin-1 identifiers, so this avoids the two
41
+ // toLocaleLowerCase allocations entirely for the common case. Folds that would
42
+ // change a string's length fall back to the exact original algorithm below.
43
+ const typedLength = typedValue.length;
44
+ const symbolLength = symbolName.length;
31
45
  let typedPos = 0;
32
46
  let symbolPos = 0;
33
47
  while (typedPos < typedLength && symbolPos < symbolLength) {
34
- if (typedLower[typedPos] === symbolLower[symbolPos]) {
48
+ const typedCode = typedValue.charCodeAt(typedPos);
49
+ const symbolCode = symbolName.charCodeAt(symbolPos);
50
+ // Fold each current character via the precomputed table. Any code point
51
+ // outside Latin-1 (index > 0xff) is not in the table and always needs the
52
+ // fallback; a Latin-1 code point maps to NEEDS_FALLBACK when its case fold
53
+ // is not a single length-preserving Latin-1 code unit under the active
54
+ // locale (see the table comment below).
55
+ const typedFold = typedCode <= 0xff ? latin1LowerCaseTable[typedCode] : NEEDS_FALLBACK;
56
+ const symbolFold = symbolCode <= 0xff ? latin1LowerCaseTable[symbolCode] : NEEDS_FALLBACK;
57
+ if (typedFold === NEEDS_FALLBACK || symbolFold === NEEDS_FALLBACK) {
58
+ // We hit a character whose case folding can change string length or is
59
+ // locale-sensitive in a way the per-character table cannot represent
60
+ // (e.g. non-Latin-1 code points like the ligature fi, Greek, CJK, a
61
+ // combining mark, or Turkish dotted capital İ). Fall back to the exact
62
+ // original algorithm: lower-case both FULL strings and match over the
63
+ // lower-cased strings from the start. Restarting (rather than resuming
64
+ // at typedPos/symbolPos over original indices) is required for
65
+ // correctness, because toLocaleLowerCase can produce a different number
66
+ // of code units than the original string.
67
+ const typedLower = typedValue.toLocaleLowerCase();
68
+ const symbolLower = symbolName.toLocaleLowerCase();
69
+ const typedLowerLength = typedLower.length;
70
+ const symbolLowerLength = symbolLower.length;
71
+ let tp = 0;
72
+ let sp = 0;
73
+ while (tp < typedLowerLength && sp < symbolLowerLength) {
74
+ if (typedLower[tp] === symbolLower[sp]) {
75
+ tp += 1;
76
+ }
77
+ sp += 1;
78
+ }
79
+ return tp === typedLowerLength;
80
+ }
81
+ if (typedFold === symbolFold) {
35
82
  typedPos += 1;
36
83
  }
37
84
  symbolPos += 1;
38
85
  }
39
86
  return typedPos === typedLength;
40
87
  }
88
+ // Sentinel marking a Latin-1 code point whose case fold cannot be represented as a
89
+ // single length-preserving Latin-1 code unit under the active locale, so matches
90
+ // involving it must take the full-string toLocaleLowerCase fallback.
91
+ const NEEDS_FALLBACK = -1;
92
+ // Case-folding lookup table for the Latin-1 range (0x00-0xff). Each entry holds the
93
+ // lower-cased code point produced by String.prototype.toLocaleLowerCase for that
94
+ // code unit under the process locale at module-init time. This preserves the exact
95
+ // behavior of the original toLocaleLowerCase-based implementation — including any
96
+ // locale-sensitive ASCII casing such as the Turkish/Azeri dotless-i rule — while
97
+ // avoiding a per-call allocation. Entries whose fold is not a single code unit
98
+ // (length-changing folds) map to NEEDS_FALLBACK so those matches take the slow path.
99
+ // Building the table once assumes the process locale is stable for its lifetime,
100
+ // which holds for the language server.
101
+ const latin1LowerCaseTable = (() => {
102
+ const table = new Int32Array(256);
103
+ for (let i = 0; i < 256; i++) {
104
+ const lower = String.fromCharCode(i).toLocaleLowerCase();
105
+ table[i] = lower.length === 1 ? lower.charCodeAt(0) : NEEDS_FALLBACK;
106
+ }
107
+ return table;
108
+ })();
41
109
  // This is a simple, non-cryptographic hash function for text.
42
110
  function hashString(contents) {
43
111
  let hash = 0;
@@ -46,6 +114,20 @@ function hashString(contents) {
46
114
  }
47
115
  return hash;
48
116
  }
117
+ // Computes the legacy string hash and an independent FNV-1a component in one pass.
118
+ function getStringFingerprint(contents) {
119
+ let primary = 0;
120
+ let secondary = 0x811c9dc5;
121
+ for (let i = 0; i < contents.length; i++) {
122
+ const codeUnit = contents.charCodeAt(i);
123
+ primary = ((primary << 5) - primary + codeUnit) | 0;
124
+ secondary = Math.imul(secondary ^ codeUnit, 0x01000193);
125
+ }
126
+ return { primary, secondary };
127
+ }
128
+ function areStringFingerprintsEqual(left, right) {
129
+ return left.primary === right.primary && left.secondary === right.secondary;
130
+ }
49
131
  /**
50
132
  * Compare two strings using a case-insensitive ordinal comparison.
51
133
  *
@@ -1 +1 @@
1
- {"version":3,"file":"stringUtils.js","sourceRoot":"","sources":["../../../../../src/common/stringUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stringUtils.js","sourceRoot":"","sources":["../../../../../src/common/stringUtils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { CancellationToken } from 'vscode-languageserver';
2
+ import { AnalyzerNodeInfoReader } from '../analyzer/analyzerNodeInfo';
2
3
  import { ImportGroup, ImportNameInfo, ImportStatements, ModuleNameInfo } from '../analyzer/importStatementUtils';
3
4
  import { ImportAsNode, ImportFromAsNode, ImportFromNode, ParseNode } from '../parser/parseNodes';
4
5
  import { ParseFileResults } from '../parser/parser';
@@ -6,11 +7,12 @@ import { FileEditAction } from './editAction';
6
7
  import { Range, TextRange } from './textRange';
7
8
  import { Uri } from './uri/uri';
8
9
  export declare class TextEditTracker {
10
+ private readonly _nodeInfo;
9
11
  private _mergeOnlyDuplications;
10
12
  private readonly _nodesRemoved;
11
13
  private readonly _results;
12
14
  private readonly _pendingNodeToRemove;
13
- constructor(_mergeOnlyDuplications?: boolean);
15
+ constructor(_nodeInfo: AnalyzerNodeInfoReader, _mergeOnlyDuplications?: boolean);
14
16
  addEdits(...edits: FileEditAction[]): void;
15
17
  addEdit(fileUri: Uri, range: Range, replacementText: string): void;
16
18
  addEditWithTextRange(parseFileResults: ParseFileResults, range: TextRange, replacementText: string): void;