@zzzen/pyright-internal 1.2.0-dev.20231203 → 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 (345) 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 +56 -52
  7. package/dist/analyzer/binder.js.map +1 -1
  8. package/dist/analyzer/checker.js +43 -33
  9. package/dist/analyzer/checker.js.map +1 -1
  10. package/dist/analyzer/circularDependency.d.ts +3 -2
  11. package/dist/analyzer/circularDependency.js.map +1 -1
  12. package/dist/analyzer/codeFlowEngine.js +29 -36
  13. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  14. package/dist/analyzer/constraintSolver.js +3 -5
  15. package/dist/analyzer/constraintSolver.js.map +1 -1
  16. package/dist/analyzer/dataClasses.js +1 -1
  17. package/dist/analyzer/dataClasses.js.map +1 -1
  18. package/dist/analyzer/declaration.d.ts +5 -3
  19. package/dist/analyzer/declaration.js +3 -2
  20. package/dist/analyzer/declaration.js.map +1 -1
  21. package/dist/analyzer/declarationUtils.d.ts +3 -2
  22. package/dist/analyzer/declarationUtils.js +14 -12
  23. package/dist/analyzer/declarationUtils.js.map +1 -1
  24. package/dist/analyzer/enums.js +1 -1
  25. package/dist/analyzer/enums.js.map +1 -1
  26. package/dist/analyzer/importResolver.d.ts +29 -25
  27. package/dist/analyzer/importResolver.js +300 -301
  28. package/dist/analyzer/importResolver.js.map +1 -1
  29. package/dist/analyzer/importResult.d.ts +5 -4
  30. package/dist/analyzer/importResult.js.map +1 -1
  31. package/dist/analyzer/importStatementUtils.d.ts +5 -4
  32. package/dist/analyzer/importStatementUtils.js +23 -22
  33. package/dist/analyzer/importStatementUtils.js.map +1 -1
  34. package/dist/analyzer/namedTuples.js +3 -3
  35. package/dist/analyzer/namedTuples.js.map +1 -1
  36. package/dist/analyzer/packageTypeReport.d.ts +7 -6
  37. package/dist/analyzer/packageTypeReport.js +4 -4
  38. package/dist/analyzer/packageTypeReport.js.map +1 -1
  39. package/dist/analyzer/packageTypeVerifier.js +68 -64
  40. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  41. package/dist/analyzer/parentDirectoryCache.d.ts +7 -6
  42. package/dist/analyzer/parentDirectoryCache.js +9 -10
  43. package/dist/analyzer/parentDirectoryCache.js.map +1 -1
  44. package/dist/analyzer/parseTreeUtils.d.ts +1 -1
  45. package/dist/analyzer/parseTreeUtils.js +6 -3
  46. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  47. package/dist/analyzer/patternMatching.js +79 -14
  48. package/dist/analyzer/patternMatching.js.map +1 -1
  49. package/dist/analyzer/program.d.ts +27 -26
  50. package/dist/analyzer/program.js +162 -156
  51. package/dist/analyzer/program.js.map +1 -1
  52. package/dist/analyzer/properties.js +3 -3
  53. package/dist/analyzer/properties.js.map +1 -1
  54. package/dist/analyzer/pyTypedUtils.d.ts +3 -2
  55. package/dist/analyzer/pyTypedUtils.js +4 -5
  56. package/dist/analyzer/pyTypedUtils.js.map +1 -1
  57. package/dist/analyzer/pythonPathUtils.d.ts +7 -6
  58. package/dist/analyzer/pythonPathUtils.js +21 -23
  59. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  60. package/dist/analyzer/service.d.ts +24 -23
  61. package/dist/analyzer/service.js +187 -183
  62. package/dist/analyzer/service.js.map +1 -1
  63. package/dist/analyzer/sourceFile.d.ts +4 -5
  64. package/dist/analyzer/sourceFile.js +68 -56
  65. package/dist/analyzer/sourceFile.js.map +1 -1
  66. package/dist/analyzer/sourceFileInfoUtils.js +3 -3
  67. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  68. package/dist/analyzer/sourceMapper.d.ts +11 -10
  69. package/dist/analyzer/sourceMapper.js +59 -62
  70. package/dist/analyzer/sourceMapper.js.map +1 -1
  71. package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
  72. package/dist/analyzer/sourceMapperUtils.js +2 -2
  73. package/dist/analyzer/sourceMapperUtils.js.map +1 -1
  74. package/dist/analyzer/tracePrinter.d.ts +3 -2
  75. package/dist/analyzer/tracePrinter.js +21 -23
  76. package/dist/analyzer/tracePrinter.js.map +1 -1
  77. package/dist/analyzer/typeDocStringUtils.d.ts +2 -1
  78. package/dist/analyzer/typeDocStringUtils.js +14 -17
  79. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  80. package/dist/analyzer/typeEvaluator.js +172 -102
  81. package/dist/analyzer/typeEvaluator.js.map +1 -1
  82. package/dist/analyzer/typeGuards.js +3 -3
  83. package/dist/analyzer/typeGuards.js.map +1 -1
  84. package/dist/analyzer/typePrinter.d.ts +2 -0
  85. package/dist/analyzer/typePrinter.js +48 -8
  86. package/dist/analyzer/typePrinter.js.map +1 -1
  87. package/dist/analyzer/typeStubWriter.d.ts +2 -1
  88. package/dist/analyzer/typeStubWriter.js +2 -2
  89. package/dist/analyzer/typeStubWriter.js.map +1 -1
  90. package/dist/analyzer/typeUtils.d.ts +4 -2
  91. package/dist/analyzer/typeUtils.js +16 -5
  92. package/dist/analyzer/typeUtils.js.map +1 -1
  93. package/dist/analyzer/typedDicts.js +4 -4
  94. package/dist/analyzer/typedDicts.js.map +1 -1
  95. package/dist/analyzer/types.d.ts +5 -4
  96. package/dist/analyzer/types.js +4 -4
  97. package/dist/analyzer/types.js.map +1 -1
  98. package/dist/backgroundAnalysis.d.ts +1 -2
  99. package/dist/backgroundAnalysis.js +6 -4
  100. package/dist/backgroundAnalysis.js.map +1 -1
  101. package/dist/backgroundAnalysisBase.d.ts +22 -20
  102. package/dist/backgroundAnalysisBase.js +76 -55
  103. package/dist/backgroundAnalysisBase.js.map +1 -1
  104. package/dist/backgroundThreadBase.d.ts +1 -1
  105. package/dist/backgroundThreadBase.js +20 -11
  106. package/dist/backgroundThreadBase.js.map +1 -1
  107. package/dist/commands/createTypeStub.js +3 -2
  108. package/dist/commands/createTypeStub.js.map +1 -1
  109. package/dist/commands/dumpFileDebugInfoCommand.js +21 -20
  110. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  111. package/dist/commands/quickActionCommand.js +5 -5
  112. package/dist/commands/quickActionCommand.js.map +1 -1
  113. package/dist/common/configOptions.d.ts +14 -13
  114. package/dist/common/configOptions.js +29 -27
  115. package/dist/common/configOptions.js.map +1 -1
  116. package/dist/common/diagnostic.d.ts +6 -5
  117. package/dist/common/diagnostic.js +2 -2
  118. package/dist/common/diagnostic.js.map +1 -1
  119. package/dist/common/diagnosticSink.d.ts +2 -1
  120. package/dist/common/diagnosticSink.js.map +1 -1
  121. package/dist/common/editAction.d.ts +6 -5
  122. package/dist/common/editAction.js +2 -2
  123. package/dist/common/editAction.js.map +1 -1
  124. package/dist/common/envVarUtils.d.ts +2 -1
  125. package/dist/common/envVarUtils.js +20 -28
  126. package/dist/common/envVarUtils.js.map +1 -1
  127. package/dist/common/extensibility.d.ts +19 -19
  128. package/dist/common/extensibility.js.map +1 -1
  129. package/dist/common/fileSystem.d.ts +29 -28
  130. package/dist/common/fileWatcher.d.ts +3 -2
  131. package/dist/common/fileWatcher.js.map +1 -1
  132. package/dist/common/fullAccessHost.d.ts +8 -7
  133. package/dist/common/fullAccessHost.js +21 -16
  134. package/dist/common/fullAccessHost.js.map +1 -1
  135. package/dist/common/host.d.ts +7 -6
  136. package/dist/common/host.js +1 -1
  137. package/dist/common/host.js.map +1 -1
  138. package/dist/common/logTracker.d.ts +2 -1
  139. package/dist/common/logTracker.js +4 -4
  140. package/dist/common/logTracker.js.map +1 -1
  141. package/dist/common/pathUtils.d.ts +1 -28
  142. package/dist/common/pathUtils.js +17 -366
  143. package/dist/common/pathUtils.js.map +1 -1
  144. package/dist/common/realFileSystem.d.ts +7 -3
  145. package/dist/common/realFileSystem.js +78 -60
  146. package/dist/common/realFileSystem.js.map +1 -1
  147. package/dist/common/serviceProviderExtensions.d.ts +2 -1
  148. package/dist/common/serviceProviderExtensions.js +5 -2
  149. package/dist/common/serviceProviderExtensions.js.map +1 -1
  150. package/dist/common/textEditTracker.d.ts +2 -1
  151. package/dist/common/textEditTracker.js +28 -28
  152. package/dist/common/textEditTracker.js.map +1 -1
  153. package/dist/common/textRange.d.ts +2 -1
  154. package/dist/common/textRange.js.map +1 -1
  155. package/dist/common/uri/baseUri.d.ts +51 -0
  156. package/dist/common/uri/baseUri.js +194 -0
  157. package/dist/common/uri/baseUri.js.map +1 -0
  158. package/dist/common/uri/emptyUri.d.ts +32 -0
  159. package/dist/common/uri/emptyUri.js +122 -0
  160. package/dist/common/uri/emptyUri.js.map +1 -0
  161. package/dist/common/uri/fileUri.d.ts +36 -0
  162. package/dist/common/uri/fileUri.js +180 -0
  163. package/dist/common/uri/fileUri.js.map +1 -0
  164. package/dist/common/uri/memoization.d.ts +3 -0
  165. package/dist/common/uri/memoization.js +72 -0
  166. package/dist/common/uri/memoization.js.map +1 -0
  167. package/dist/common/uri/uri.d.ts +50 -0
  168. package/dist/common/uri/uri.js +104 -0
  169. package/dist/common/uri/uri.js.map +1 -0
  170. package/dist/common/uri/uriUtils.d.ts +39 -0
  171. package/dist/common/uri/uriUtils.js +362 -0
  172. package/dist/common/uri/uriUtils.js.map +1 -0
  173. package/dist/common/uri/webUri.d.ts +36 -0
  174. package/dist/common/uri/webUri.js +207 -0
  175. package/dist/common/uri/webUri.js.map +1 -0
  176. package/dist/common/workspaceEditUtils.d.ts +8 -8
  177. package/dist/common/workspaceEditUtils.js +34 -37
  178. package/dist/common/workspaceEditUtils.js.map +1 -1
  179. package/dist/languageServerBase.d.ts +19 -22
  180. package/dist/languageServerBase.js +91 -95
  181. package/dist/languageServerBase.js.map +1 -1
  182. package/dist/languageService/analyzerServiceExecutor.d.ts +2 -1
  183. package/dist/languageService/analyzerServiceExecutor.js +14 -16
  184. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  185. package/dist/languageService/autoImporter.d.ts +11 -9
  186. package/dist/languageService/autoImporter.js +45 -44
  187. package/dist/languageService/autoImporter.js.map +1 -1
  188. package/dist/languageService/callHierarchyProvider.d.ts +3 -2
  189. package/dist/languageService/callHierarchyProvider.js +23 -35
  190. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  191. package/dist/languageService/codeActionProvider.d.ts +2 -1
  192. package/dist/languageService/codeActionProvider.js +8 -10
  193. package/dist/languageService/codeActionProvider.js.map +1 -1
  194. package/dist/languageService/completionProvider.d.ts +7 -6
  195. package/dist/languageService/completionProvider.js +32 -30
  196. package/dist/languageService/completionProvider.js.map +1 -1
  197. package/dist/languageService/completionProviderUtils.d.ts +2 -1
  198. package/dist/languageService/completionProviderUtils.js +1 -1
  199. package/dist/languageService/completionProviderUtils.js.map +1 -1
  200. package/dist/languageService/definitionProvider.d.ts +4 -3
  201. package/dist/languageService/definitionProvider.js +26 -24
  202. package/dist/languageService/definitionProvider.js.map +1 -1
  203. package/dist/languageService/documentHighlightProvider.d.ts +3 -2
  204. package/dist/languageService/documentHighlightProvider.js +3 -3
  205. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  206. package/dist/languageService/documentSymbolCollector.js +8 -7
  207. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  208. package/dist/languageService/documentSymbolProvider.d.ts +5 -4
  209. package/dist/languageService/documentSymbolProvider.js +9 -11
  210. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  211. package/dist/languageService/hoverProvider.d.ts +4 -3
  212. package/dist/languageService/hoverProvider.js +6 -5
  213. package/dist/languageService/hoverProvider.js.map +1 -1
  214. package/dist/languageService/navigationUtils.d.ts +2 -1
  215. package/dist/languageService/navigationUtils.js +2 -3
  216. package/dist/languageService/navigationUtils.js.map +1 -1
  217. package/dist/languageService/quickActions.d.ts +2 -1
  218. package/dist/languageService/quickActions.js +3 -3
  219. package/dist/languageService/quickActions.js.map +1 -1
  220. package/dist/languageService/referencesProvider.d.ts +10 -9
  221. package/dist/languageService/referencesProvider.js +28 -28
  222. package/dist/languageService/referencesProvider.js.map +1 -1
  223. package/dist/languageService/renameProvider.d.ts +4 -3
  224. package/dist/languageService/renameProvider.js +17 -18
  225. package/dist/languageService/renameProvider.js.map +1 -1
  226. package/dist/languageService/signatureHelpProvider.d.ts +3 -2
  227. package/dist/languageService/signatureHelpProvider.js +4 -4
  228. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  229. package/dist/languageService/symbolIndexer.d.ts +2 -1
  230. package/dist/languageService/symbolIndexer.js +1 -1
  231. package/dist/languageService/symbolIndexer.js.map +1 -1
  232. package/dist/languageService/tooltipUtils.js +10 -4
  233. package/dist/languageService/tooltipUtils.js.map +1 -1
  234. package/dist/languageService/workspaceSymbolProvider.d.ts +4 -3
  235. package/dist/languageService/workspaceSymbolProvider.js +10 -11
  236. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  237. package/dist/localization/localize.d.ts +1 -0
  238. package/dist/localization/localize.js +1 -0
  239. package/dist/localization/localize.js.map +1 -1
  240. package/dist/localization/package.nls.en-us.json +2 -1
  241. package/dist/pyright.js +18 -17
  242. package/dist/pyright.js.map +1 -1
  243. package/dist/pyrightFileSystem.d.ts +13 -13
  244. package/dist/pyrightFileSystem.js +38 -43
  245. package/dist/pyrightFileSystem.js.map +1 -1
  246. package/dist/readonlyAugmentedFileSystem.d.ts +29 -28
  247. package/dist/readonlyAugmentedFileSystem.js +62 -65
  248. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  249. package/dist/server.js +21 -20
  250. package/dist/server.js.map +1 -1
  251. package/dist/tests/chainedSourceFiles.test.js +39 -30
  252. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  253. package/dist/tests/checker.test.js +31 -30
  254. package/dist/tests/checker.test.js.map +1 -1
  255. package/dist/tests/completions.test.js +7 -3
  256. package/dist/tests/completions.test.js.map +1 -1
  257. package/dist/tests/config.test.js +24 -22
  258. package/dist/tests/config.test.js.map +1 -1
  259. package/dist/tests/documentSymbolCollector.test.js +3 -2
  260. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  261. package/dist/tests/filesystem.test.js +37 -35
  262. package/dist/tests/filesystem.test.js.map +1 -1
  263. package/dist/tests/fourSlashParser.test.js +4 -4
  264. package/dist/tests/fourSlashParser.test.js.map +1 -1
  265. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +27 -11
  266. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
  267. package/dist/tests/harness/fourslash/fourSlashParser.js +2 -2
  268. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  269. package/dist/tests/harness/fourslash/testLanguageService.d.ts +4 -5
  270. package/dist/tests/harness/fourslash/testLanguageService.js +9 -15
  271. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  272. package/dist/tests/harness/fourslash/testState.d.ts +4 -4
  273. package/dist/tests/harness/fourslash/testState.js +91 -51
  274. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  275. package/dist/tests/harness/testAccessHost.d.ts +3 -2
  276. package/dist/tests/harness/testAccessHost.js +2 -1
  277. package/dist/tests/harness/testAccessHost.js.map +1 -1
  278. package/dist/tests/harness/testHost.js +13 -11
  279. package/dist/tests/harness/testHost.js.map +1 -1
  280. package/dist/tests/harness/vfs/factory.d.ts +3 -2
  281. package/dist/tests/harness/vfs/factory.js +5 -4
  282. package/dist/tests/harness/vfs/factory.js.map +1 -1
  283. package/dist/tests/harness/vfs/filesystem.d.ts +32 -31
  284. package/dist/tests/harness/vfs/filesystem.js +47 -49
  285. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  286. package/dist/tests/harness/vfs/pathValidation.js +1 -10
  287. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  288. package/dist/tests/importResolver.test.js +81 -58
  289. package/dist/tests/importResolver.test.js.map +1 -1
  290. package/dist/tests/importStatementUtils.test.js +10 -9
  291. package/dist/tests/importStatementUtils.test.js.map +1 -1
  292. package/dist/tests/ipythonMode.test.js +12 -11
  293. package/dist/tests/ipythonMode.test.js.map +1 -1
  294. package/dist/tests/logger.test.js +2 -1
  295. package/dist/tests/logger.test.js.map +1 -1
  296. package/dist/tests/parseTreeUtils.test.js +2 -1
  297. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  298. package/dist/tests/pathUtils.test.js +3 -138
  299. package/dist/tests/pathUtils.test.js.map +1 -1
  300. package/dist/tests/pyrightFileSystem.test.js +38 -34
  301. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  302. package/dist/tests/service.test.js +37 -42
  303. package/dist/tests/service.test.js.map +1 -1
  304. package/dist/tests/signatureHelp.test.js +3 -2
  305. package/dist/tests/signatureHelp.test.js.map +1 -1
  306. package/dist/tests/sourceFile.test.js +8 -7
  307. package/dist/tests/sourceFile.test.js.map +1 -1
  308. package/dist/tests/sourceMapperUtils.test.js +13 -6
  309. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  310. package/dist/tests/testState.test.js +13 -9
  311. package/dist/tests/testState.test.js.map +1 -1
  312. package/dist/tests/testStateUtils.d.ts +2 -5
  313. package/dist/tests/testStateUtils.js +27 -64
  314. package/dist/tests/testStateUtils.js.map +1 -1
  315. package/dist/tests/testUtils.d.ts +3 -5
  316. package/dist/tests/testUtils.js +15 -64
  317. package/dist/tests/testUtils.js.map +1 -1
  318. package/dist/tests/textEditUtil.test.js +4 -3
  319. package/dist/tests/textEditUtil.test.js.map +1 -1
  320. package/dist/tests/typeEvaluator1.test.js +16 -15
  321. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  322. package/dist/tests/typeEvaluator2.test.js +18 -9
  323. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  324. package/dist/tests/typeEvaluator3.test.js +73 -62
  325. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  326. package/dist/tests/typeEvaluator4.test.js +20 -19
  327. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  328. package/dist/tests/typeEvaluator5.test.js +28 -27
  329. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  330. package/dist/tests/typePrinter.test.js +4 -3
  331. package/dist/tests/typePrinter.test.js.map +1 -1
  332. package/dist/tests/uri.test.d.ts +1 -0
  333. package/dist/tests/uri.test.js +695 -0
  334. package/dist/tests/uri.test.js.map +1 -0
  335. package/dist/tests/workspaceEditUtils.test.js +28 -28
  336. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  337. package/dist/tests/zipfs.test.js +11 -11
  338. package/dist/tests/zipfs.test.js.map +1 -1
  339. package/dist/workspaceFactory.d.ts +13 -14
  340. package/dist/workspaceFactory.js +54 -55
  341. package/dist/workspaceFactory.js.map +1 -1
  342. package/package.json +2 -2
  343. package/dist/common/uriParser.d.ts +0 -24
  344. package/dist/common/uriParser.js +0 -45
  345. package/dist/common/uriParser.js.map +0 -1
@@ -0,0 +1,36 @@
1
+ import { BaseUri } from './baseUri';
2
+ import { Uri } from './uri';
3
+ export declare class WebUri extends BaseUri {
4
+ private readonly _scheme;
5
+ private readonly _authority;
6
+ private readonly _path;
7
+ private readonly _query;
8
+ private readonly _fragment;
9
+ private readonly _originalString;
10
+ private constructor();
11
+ get scheme(): string;
12
+ get isCaseSensitive(): boolean;
13
+ get root(): Uri;
14
+ get fileName(): string;
15
+ get lastExtension(): string;
16
+ static createWebUri(scheme: string, authority: string, path: string, query: string, fragment: string, originalString: string | undefined): WebUri;
17
+ toString(): string;
18
+ toUserVisibleString(): string;
19
+ static isWebUri(uri: any): uri is WebUri;
20
+ static fromJsonObj(obj: WebUri): WebUri;
21
+ matchesRegex(regex: RegExp): boolean;
22
+ addPath(extra: string): Uri;
23
+ isRoot(): boolean;
24
+ isChild(parent: Uri): boolean;
25
+ isLocal(): boolean;
26
+ startsWith(other: Uri | undefined): boolean;
27
+ getPathLength(): number;
28
+ getPath(): string;
29
+ getFilePath(): string;
30
+ combinePaths(...paths: string[]): Uri;
31
+ getDirectory(): Uri;
32
+ protected getPathComponentsImpl(): string[];
33
+ protected getRootPath(): string;
34
+ protected getComparablePath(): string;
35
+ private static _createKey;
36
+ }
@@ -0,0 +1,207 @@
1
+ "use strict";
2
+ /*
3
+ * webUri.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ *
7
+ * URI class that represents a URI that isn't 'file' schemed.
8
+ * This can be URIs like:
9
+ * - http://www.microsoft.com/file.txt
10
+ * - untitled:Untitled-1
11
+ * - vscode:extension/ms-python.python
12
+ * - vscode-vfs://github.com/microsoft/debugpy/debugpy/launcher/debugAdapter.py
13
+ */
14
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ var desc = Object.getOwnPropertyDescriptor(m, k);
17
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
+ desc = { enumerable: true, get: function() { return m[k]; } };
19
+ }
20
+ Object.defineProperty(o, k2, desc);
21
+ }) : (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ o[k2] = m[k];
24
+ }));
25
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
26
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
27
+ }) : function(o, v) {
28
+ o["default"] = v;
29
+ });
30
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
31
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
32
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
33
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
34
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
35
+ };
36
+ var __importStar = (this && this.__importStar) || function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.WebUri = void 0;
45
+ const debug = __importStar(require("../debug"));
46
+ const pathUtils_1 = require("../pathUtils");
47
+ const baseUri_1 = require("./baseUri");
48
+ const memoization_1 = require("./memoization");
49
+ class WebUri extends baseUri_1.BaseUri {
50
+ constructor(key, _scheme, _authority, _path, _query, _fragment, _originalString) {
51
+ super(key);
52
+ this._scheme = _scheme;
53
+ this._authority = _authority;
54
+ this._path = _path;
55
+ this._query = _query;
56
+ this._fragment = _fragment;
57
+ this._originalString = _originalString;
58
+ }
59
+ get scheme() {
60
+ return this._scheme;
61
+ }
62
+ get isCaseSensitive() {
63
+ // Web URIs are always case sensitive
64
+ return true;
65
+ }
66
+ get root() {
67
+ const rootPath = this.getRootPath();
68
+ if (rootPath !== this._path) {
69
+ return WebUri.createWebUri(this._scheme, this._authority, rootPath, '', '', undefined);
70
+ }
71
+ return this;
72
+ }
73
+ get fileName() {
74
+ // Path should already be normalized, just get the last on a split of '/'.
75
+ const components = this._path.split('/');
76
+ return components[components.length - 1];
77
+ }
78
+ get lastExtension() {
79
+ const basename = this.fileName;
80
+ const index = basename.lastIndexOf('.');
81
+ if (index >= 0) {
82
+ return basename.slice(index);
83
+ }
84
+ return '';
85
+ }
86
+ static createWebUri(scheme, authority, path, query, fragment, originalString) {
87
+ const key = WebUri._createKey(scheme, authority, path, query, fragment);
88
+ return new WebUri(key, scheme, authority, path, query, fragment, originalString);
89
+ }
90
+ toString() {
91
+ if (!this._originalString) {
92
+ return `${this._scheme}://${this._authority}${this._path}${this._query ? '?' + this._query : ''}${this._fragment ? '#' + this._fragment : ''}`;
93
+ }
94
+ return this._originalString;
95
+ }
96
+ toUserVisibleString() {
97
+ return this.toString();
98
+ }
99
+ static isWebUri(uri) {
100
+ return (uri === null || uri === void 0 ? void 0 : uri._scheme) !== undefined && (uri === null || uri === void 0 ? void 0 : uri._key) !== undefined;
101
+ }
102
+ static fromJsonObj(obj) {
103
+ return WebUri.createWebUri(obj._scheme, obj._authority, obj._path, obj._query, obj._fragment, obj._originalString);
104
+ }
105
+ matchesRegex(regex) {
106
+ return regex.test(this._path);
107
+ }
108
+ addPath(extra) {
109
+ const newPath = this._path + extra;
110
+ return WebUri.createWebUri(this._scheme, this._authority, newPath, this._query, this._fragment, undefined);
111
+ }
112
+ isRoot() {
113
+ return this._path === this.getRootPath() && this._path.length > 0;
114
+ }
115
+ isChild(parent) {
116
+ if (!WebUri.isWebUri(parent)) {
117
+ return false;
118
+ }
119
+ return parent._path.length < this._path.length && this.startsWith(parent);
120
+ }
121
+ isLocal() {
122
+ return false;
123
+ }
124
+ startsWith(other) {
125
+ if (!other || !WebUri.isWebUri(other)) {
126
+ return false;
127
+ }
128
+ if (other.isEmpty() !== this.isEmpty()) {
129
+ return false;
130
+ }
131
+ if (this.scheme !== other.scheme) {
132
+ return false;
133
+ }
134
+ if (this._path.length >= other._path.length) {
135
+ // Make sure the other ends with a / when comparing longer paths, otherwise we might
136
+ // say that /a/food is a child of /a/foo.
137
+ const otherPath = this._path.length > other._path.length && !(0, pathUtils_1.hasTrailingDirectorySeparator)(other._path)
138
+ ? `${other._path}/`
139
+ : other._path;
140
+ return this._path.startsWith(otherPath);
141
+ }
142
+ return false;
143
+ }
144
+ getPathLength() {
145
+ return this._path.length;
146
+ }
147
+ getPath() {
148
+ return this._path;
149
+ }
150
+ getFilePath() {
151
+ debug.fail(`${this} is not a file based URI.`);
152
+ }
153
+ combinePaths(...paths) {
154
+ // Resolve and combine paths, never want URIs with '..' in the middle.
155
+ let combined = this.normalizeSlashes((0, pathUtils_1.resolvePaths)(this._path, ...paths));
156
+ // Make sure to remove any trailing directory chars.
157
+ if ((0, pathUtils_1.hasTrailingDirectorySeparator)(combined) && combined.length > 1) {
158
+ combined = combined.slice(0, combined.length - 1);
159
+ }
160
+ if (combined !== this._path) {
161
+ return WebUri.createWebUri(this._scheme, this._authority, combined, '', '', undefined);
162
+ }
163
+ return this;
164
+ }
165
+ getDirectory() {
166
+ const index = this._path.lastIndexOf('/');
167
+ if (index > 0) {
168
+ return WebUri.createWebUri(this._scheme, this._authority, this._path.slice(0, index), this._query, this._fragment, undefined);
169
+ }
170
+ else {
171
+ return this;
172
+ }
173
+ }
174
+ getPathComponentsImpl() {
175
+ // Get the root path and the rest of the path components.
176
+ const rootPath = this.getRootPath();
177
+ const otherPaths = this._path.slice(rootPath.length).split('/');
178
+ return this.reducePathComponents([rootPath, ...otherPaths]).map((component) => this.normalizeSlashes(component));
179
+ }
180
+ getRootPath() {
181
+ const rootLength = (0, pathUtils_1.getRootLength)(this._path, '/');
182
+ return this._path.slice(0, rootLength);
183
+ }
184
+ getComparablePath() {
185
+ return (0, pathUtils_1.normalizeSlashes)(this._path);
186
+ }
187
+ static _createKey(scheme, authority, path, query, fragment) {
188
+ return `${scheme}://${authority}${path}${query ? '?' + query : ''}${fragment ? '#' + fragment : ''}`;
189
+ }
190
+ }
191
+ exports.WebUri = WebUri;
192
+ __decorate([
193
+ (0, memoization_1.cacheProperty)()
194
+ ], WebUri.prototype, "root", null);
195
+ __decorate([
196
+ (0, memoization_1.cacheProperty)()
197
+ ], WebUri.prototype, "fileName", null);
198
+ __decorate([
199
+ (0, memoization_1.cacheProperty)()
200
+ ], WebUri.prototype, "lastExtension", null);
201
+ __decorate([
202
+ (0, memoization_1.cacheMethodWithNoArgs)()
203
+ ], WebUri.prototype, "getDirectory", null);
204
+ __decorate([
205
+ (0, memoization_1.cacheStaticFunc)()
206
+ ], WebUri, "createWebUri", null);
207
+ //# sourceMappingURL=webUri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webUri.js","sourceRoot":"","sources":["../../../../src/common/uri/webUri.ts"],"names":[],"mappings":"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"}
@@ -2,18 +2,18 @@ import { ChangeAnnotation, TextEdit, WorkspaceEdit } from 'vscode-languageserver
2
2
  import { AnalyzerService } from '../analyzer/service';
3
3
  import { FileEditAction, FileEditActions, TextEditAction } from '../common/editAction';
4
4
  import { EditableProgram, SourceFileInfo } from './extensibility';
5
- import { ReadOnlyFileSystem } from './fileSystem';
6
5
  import { TextRange } from './textRange';
7
6
  import { TextRangeCollection } from './textRangeCollection';
7
+ import { Uri } from './uri/uri';
8
8
  export declare function convertToTextEdits(editActions: TextEditAction[]): TextEdit[];
9
- export declare function convertToFileTextEdits(filePath: string, editActions: TextEditAction[]): FileEditAction[];
10
- export declare function convertToWorkspaceEdit(fs: ReadOnlyFileSystem, edits: FileEditAction[]): WorkspaceEdit;
11
- export declare function convertToWorkspaceEdit(fs: ReadOnlyFileSystem, edits: FileEditActions): WorkspaceEdit;
12
- export declare function convertToWorkspaceEdit(fs: ReadOnlyFileSystem, edits: FileEditActions, changeAnnotations: {
9
+ export declare function convertToFileTextEdits(fileUri: Uri, editActions: TextEditAction[]): FileEditAction[];
10
+ export declare function convertToWorkspaceEdit(edits: FileEditAction[]): WorkspaceEdit;
11
+ export declare function convertToWorkspaceEdit(edits: FileEditActions): WorkspaceEdit;
12
+ export declare function convertToWorkspaceEdit(edits: FileEditActions, changeAnnotations: {
13
13
  [id: string]: ChangeAnnotation;
14
14
  }, defaultAnnotationId: string): WorkspaceEdit;
15
- export declare function appendToWorkspaceEdit(fs: ReadOnlyFileSystem, edits: FileEditAction[], workspaceEdit: WorkspaceEdit): void;
15
+ export declare function appendToWorkspaceEdit(edits: FileEditAction[], workspaceEdit: WorkspaceEdit): void;
16
16
  export declare function applyTextEditsToString(edits: TextEditAction[], lines: TextRangeCollection<TextRange>, originalText: string): string;
17
- export declare function applyWorkspaceEdit(program: EditableProgram, edits: WorkspaceEdit, filesChanged: Set<string>): void;
17
+ export declare function applyWorkspaceEdit(program: EditableProgram, edits: WorkspaceEdit, filesChanged: Map<string, Uri>): void;
18
18
  export declare function applyDocumentChanges(program: EditableProgram, fileInfo: SourceFileInfo, edits: TextEdit[]): void;
19
- export declare function generateWorkspaceEdit(originalService: AnalyzerService, clonedService: AnalyzerService, filesChanged: Set<string>): WorkspaceEdit;
19
+ export declare function generateWorkspaceEdit(originalService: AnalyzerService, clonedService: AnalyzerService, filesChanged: Map<string, Uri>): WorkspaceEdit;
@@ -10,12 +10,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.generateWorkspaceEdit = exports.applyDocumentChanges = exports.applyWorkspaceEdit = exports.applyTextEditsToString = exports.appendToWorkspaceEdit = exports.convertToWorkspaceEdit = exports.convertToFileTextEdits = exports.convertToTextEdits = void 0;
11
11
  const vscode_languageserver_1 = require("vscode-languageserver");
12
12
  const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
13
- const pathUtils_1 = require("../common/pathUtils");
14
13
  const collectionUtils_1 = require("./collectionUtils");
15
14
  const core_1 = require("./core");
16
15
  const debug_1 = require("./debug");
17
16
  const positionUtils_1 = require("./positionUtils");
18
17
  const textRange_1 = require("./textRange");
18
+ const uri_1 = require("./uri/uri");
19
19
  function convertToTextEdits(editActions) {
20
20
  return editActions.map((editAction) => ({
21
21
  range: editAction.range,
@@ -23,22 +23,22 @@ function convertToTextEdits(editActions) {
23
23
  }));
24
24
  }
25
25
  exports.convertToTextEdits = convertToTextEdits;
26
- function convertToFileTextEdits(filePath, editActions) {
27
- return editActions.map((a) => ({ filePath, ...a }));
26
+ function convertToFileTextEdits(fileUri, editActions) {
27
+ return editActions.map((a) => ({ fileUri, ...a }));
28
28
  }
29
29
  exports.convertToFileTextEdits = convertToFileTextEdits;
30
- function convertToWorkspaceEdit(fs, edits, changeAnnotations, defaultAnnotationId = 'default') {
30
+ function convertToWorkspaceEdit(edits, changeAnnotations, defaultAnnotationId = 'default') {
31
31
  if ((0, core_1.isArray)(edits)) {
32
- return _convertToWorkspaceEditWithChanges(fs, edits);
32
+ return _convertToWorkspaceEditWithChanges(edits);
33
33
  }
34
- return _convertToWorkspaceEditWithDocumentChanges(fs, edits, changeAnnotations, defaultAnnotationId);
34
+ return _convertToWorkspaceEditWithDocumentChanges(edits, changeAnnotations, defaultAnnotationId);
35
35
  }
36
36
  exports.convertToWorkspaceEdit = convertToWorkspaceEdit;
37
- function appendToWorkspaceEdit(fs, edits, workspaceEdit) {
37
+ function appendToWorkspaceEdit(edits, workspaceEdit) {
38
38
  edits.forEach((edit) => {
39
- const uri = (0, pathUtils_1.convertPathToUri)(fs, edit.filePath);
40
- workspaceEdit.changes[uri] = workspaceEdit.changes[uri] || [];
41
- workspaceEdit.changes[uri].push({ range: edit.range, newText: edit.replacementText });
39
+ const uri = edit.fileUri;
40
+ workspaceEdit.changes[uri.toString()] = workspaceEdit.changes[uri.toString()] || [];
41
+ workspaceEdit.changes[uri.toString()].push({ range: edit.range, newText: edit.replacementText });
42
42
  });
43
43
  }
44
44
  exports.appendToWorkspaceEdit = appendToWorkspaceEdit;
@@ -69,28 +69,28 @@ exports.applyTextEditsToString = applyTextEditsToString;
69
69
  function applyWorkspaceEdit(program, edits, filesChanged) {
70
70
  if (edits.changes) {
71
71
  for (const kv of Object.entries(edits.changes)) {
72
- const filePath = (0, pathUtils_1.convertUriToPath)(program.fileSystem, kv[0]);
73
- const fileInfo = program.getSourceFileInfo(filePath);
72
+ const fileUri = uri_1.Uri.parse(kv[0], program.configOptions.projectRoot.isCaseSensitive);
73
+ const fileInfo = program.getSourceFileInfo(fileUri);
74
74
  if (!fileInfo || !fileInfo.isTracked) {
75
75
  // We don't allow non user file being modified.
76
76
  continue;
77
77
  }
78
78
  applyDocumentChanges(program, fileInfo, kv[1]);
79
- filesChanged.add(filePath);
79
+ filesChanged.set(fileUri.key, fileUri);
80
80
  }
81
81
  }
82
82
  // For now, we don't support annotations.
83
83
  if (edits.documentChanges) {
84
84
  for (const change of edits.documentChanges) {
85
85
  if (vscode_languageserver_1.TextDocumentEdit.is(change)) {
86
- const filePath = (0, pathUtils_1.convertUriToPath)(program.fileSystem, change.textDocument.uri);
87
- const fileInfo = program.getSourceFileInfo(filePath);
86
+ const fileUri = uri_1.Uri.parse(change.textDocument.uri, program.configOptions.projectRoot.isCaseSensitive);
87
+ const fileInfo = program.getSourceFileInfo(fileUri);
88
88
  if (!fileInfo || !fileInfo.isTracked) {
89
89
  // We don't allow non user file being modified.
90
90
  continue;
91
91
  }
92
92
  applyDocumentChanges(program, fileInfo, change.edits);
93
- filesChanged.add(filePath);
93
+ filesChanged.set(fileUri.key, fileUri);
94
94
  }
95
95
  // For now, we don't support other kinds of text changes.
96
96
  // But if we want to add support for those in future, we should add them here.
@@ -102,21 +102,20 @@ function applyDocumentChanges(program, fileInfo, edits) {
102
102
  var _a, _b, _c, _d;
103
103
  if (!fileInfo.isOpenByClient) {
104
104
  const fileContent = fileInfo.sourceFile.getFileContent();
105
- program.setFileOpened(fileInfo.sourceFile.getFilePath(), 0, fileContent !== null && fileContent !== void 0 ? fileContent : '', {
105
+ program.setFileOpened(fileInfo.sourceFile.getUri(), 0, fileContent !== null && fileContent !== void 0 ? fileContent : '', {
106
106
  isTracked: fileInfo.isTracked,
107
107
  ipythonMode: fileInfo.sourceFile.getIPythonMode(),
108
- chainedFilePath: (_a = fileInfo.chainedSourceFile) === null || _a === void 0 ? void 0 : _a.sourceFile.getFilePath(),
109
- realFilePath: fileInfo.sourceFile.getRealFilePath(),
108
+ chainedFileUri: (_a = fileInfo.chainedSourceFile) === null || _a === void 0 ? void 0 : _a.sourceFile.getUri(),
110
109
  });
111
110
  }
112
111
  const version = (_b = fileInfo.sourceFile.getClientVersion()) !== null && _b !== void 0 ? _b : 0;
113
- const filePath = fileInfo.sourceFile.getFilePath();
112
+ const fileUri = fileInfo.sourceFile.getUri();
113
+ const filePath = fileUri.getFilePath();
114
114
  const sourceDoc = vscode_languageserver_textdocument_1.TextDocument.create(filePath, 'python', version, (_c = fileInfo.sourceFile.getOpenFileContents()) !== null && _c !== void 0 ? _c : '');
115
- program.setFileOpened(filePath, version + 1, vscode_languageserver_textdocument_1.TextDocument.applyEdits(sourceDoc, edits), {
115
+ program.setFileOpened(fileUri, version + 1, vscode_languageserver_textdocument_1.TextDocument.applyEdits(sourceDoc, edits), {
116
116
  isTracked: fileInfo.isTracked,
117
117
  ipythonMode: fileInfo.sourceFile.getIPythonMode(),
118
- chainedFilePath: (_d = fileInfo.chainedSourceFile) === null || _d === void 0 ? void 0 : _d.sourceFile.getFilePath(),
119
- realFilePath: fileInfo.sourceFile.getRealFilePath(),
118
+ chainedFileUri: (_d = fileInfo.chainedSourceFile) === null || _d === void 0 ? void 0 : _d.sourceFile.getUri(),
120
119
  });
121
120
  }
122
121
  exports.applyDocumentChanges = applyDocumentChanges;
@@ -127,9 +126,9 @@ function generateWorkspaceEdit(originalService, clonedService, filesChanged) {
127
126
  // doing minimal changes using vscode's differ (https://github.com/microsoft/vscode/blob/main/src/vs/base/common/diff/diff.ts)
128
127
  // to support annotation.
129
128
  const edits = { changes: {} };
130
- for (const filePath of filesChanged) {
131
- const original = originalService.backgroundAnalysisProgram.program.getBoundSourceFile(filePath);
132
- const final = clonedService.backgroundAnalysisProgram.program.getBoundSourceFile(filePath);
129
+ for (const uri of filesChanged.values()) {
130
+ const original = originalService.backgroundAnalysisProgram.program.getBoundSourceFile(uri);
131
+ const final = clonedService.backgroundAnalysisProgram.program.getBoundSourceFile(uri);
133
132
  if (!original || !final) {
134
133
  // Both must exist.
135
134
  continue;
@@ -138,7 +137,7 @@ function generateWorkspaceEdit(originalService, clonedService, filesChanged) {
138
137
  if (!parseResults) {
139
138
  continue;
140
139
  }
141
- edits.changes[(0, pathUtils_1.convertPathToUri)(originalService.fs, filePath)] = [
140
+ edits.changes[uri.toString()] = [
142
141
  {
143
142
  range: (0, positionUtils_1.convertTextRangeToRange)(parseResults.parseTree, parseResults.tokenizerOutput.lines),
144
143
  newText: (_a = final.getFileContent()) !== null && _a !== void 0 ? _a : '',
@@ -148,14 +147,14 @@ function generateWorkspaceEdit(originalService, clonedService, filesChanged) {
148
147
  return edits;
149
148
  }
150
149
  exports.generateWorkspaceEdit = generateWorkspaceEdit;
151
- function _convertToWorkspaceEditWithChanges(fs, edits) {
150
+ function _convertToWorkspaceEditWithChanges(edits) {
152
151
  const workspaceEdit = {
153
152
  changes: {},
154
153
  };
155
- appendToWorkspaceEdit(fs, edits, workspaceEdit);
154
+ appendToWorkspaceEdit(edits, workspaceEdit);
156
155
  return workspaceEdit;
157
156
  }
158
- function _convertToWorkspaceEditWithDocumentChanges(fs, editActions, changeAnnotations, defaultAnnotationId = 'default') {
157
+ function _convertToWorkspaceEditWithDocumentChanges(editActions, changeAnnotations, defaultAnnotationId = 'default') {
159
158
  const workspaceEdit = {
160
159
  documentChanges: [],
161
160
  changeAnnotations: changeAnnotations,
@@ -165,8 +164,7 @@ function _convertToWorkspaceEditWithDocumentChanges(fs, editActions, changeAnnot
165
164
  for (const operation of editActions.fileOperations) {
166
165
  switch (operation.kind) {
167
166
  case 'create':
168
- workspaceEdit.documentChanges.push(vscode_languageserver_1.CreateFile.create((0, pathUtils_1.convertPathToUri)(fs, operation.filePath),
169
- /* options */ undefined, defaultAnnotationId));
167
+ workspaceEdit.documentChanges.push(vscode_languageserver_1.CreateFile.create(operation.fileUri.toString(), /* options */ undefined, defaultAnnotationId));
170
168
  break;
171
169
  case 'rename':
172
170
  case 'delete':
@@ -176,9 +174,9 @@ function _convertToWorkspaceEditWithDocumentChanges(fs, editActions, changeAnnot
176
174
  }
177
175
  }
178
176
  // Text edit's file path must refer to original file paths unless it is a new file just created.
179
- const mapPerFile = (0, collectionUtils_1.createMapFromItems)(editActions.edits, (e) => e.filePath);
177
+ const mapPerFile = (0, collectionUtils_1.createMapFromItems)(editActions.edits, (e) => e.fileUri.key);
180
178
  for (const [key, value] of mapPerFile) {
181
- workspaceEdit.documentChanges.push(vscode_languageserver_1.TextDocumentEdit.create({ uri: (0, pathUtils_1.convertPathToUri)(fs, key), version: null }, Array.from(value.map((v) => ({
179
+ workspaceEdit.documentChanges.push(vscode_languageserver_1.TextDocumentEdit.create({ uri: key, version: null }, Array.from(value.map((v) => ({
182
180
  range: v.range,
183
181
  newText: v.replacementText,
184
182
  annotationId: defaultAnnotationId,
@@ -189,12 +187,11 @@ function _convertToWorkspaceEditWithDocumentChanges(fs, editActions, changeAnnot
189
187
  case 'create':
190
188
  break;
191
189
  case 'rename':
192
- workspaceEdit.documentChanges.push(vscode_languageserver_1.RenameFile.create((0, pathUtils_1.convertPathToUri)(fs, operation.oldFilePath), (0, pathUtils_1.convertPathToUri)(fs, operation.newFilePath),
190
+ workspaceEdit.documentChanges.push(vscode_languageserver_1.RenameFile.create(operation.oldFileUri.toString(), operation.newFileUri.toString(),
193
191
  /* options */ undefined, defaultAnnotationId));
194
192
  break;
195
193
  case 'delete':
196
- workspaceEdit.documentChanges.push(vscode_languageserver_1.DeleteFile.create((0, pathUtils_1.convertPathToUri)(fs, operation.filePath),
197
- /* options */ undefined, defaultAnnotationId));
194
+ workspaceEdit.documentChanges.push(vscode_languageserver_1.DeleteFile.create(operation.fileUri.toString(), /* options */ undefined, defaultAnnotationId));
198
195
  break;
199
196
  default:
200
197
  (0, debug_1.assertNever)(operation);
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceEditUtils.js","sourceRoot":"","sources":["../../../src/common/workspaceEditUtils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,iEAQ+B;AAE/B,2FAAkE;AAGlE,mDAAyE;AACzE,uDAAuD;AACvD,iCAAiC;AACjC,mCAAsC;AAGtC,mDAAmF;AACnF,2CAAwC;AAGxC,SAAgB,kBAAkB,CAAC,WAA6B;IAC5D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACpC,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,OAAO,EAAE,UAAU,CAAC,eAAe;KACtC,CAAC,CAAC,CAAC;AACR,CAAC;AALD,gDAKC;AAED,SAAgB,sBAAsB,CAAC,QAAgB,EAAE,WAA6B;IAClF,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC;AAFD,wDAEC;AAYD,SAAgB,sBAAsB,CAClC,EAAsB,EACtB,KAAyC,EACzC,iBAEC,EACD,mBAAmB,GAAG,SAAS;IAE/B,IAAI,IAAA,cAAO,EAAC,KAAK,CAAC,EAAE;QAChB,OAAO,kCAAkC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;KACxD;IAED,OAAO,0CAA0C,CAAC,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;AACzG,CAAC;AAbD,wDAaC;AAED,SAAgB,qBAAqB,CAAC,EAAsB,EAAE,KAAuB,EAAE,aAA4B;IAC/G,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACnB,MAAM,GAAG,GAAG,IAAA,4BAAgB,EAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChD,aAAa,CAAC,OAAQ,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,OAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChE,aAAa,CAAC,OAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3F,CAAC,CAAC,CAAC;AACP,CAAC;AAND,sDAMC;AAED,SAAgB,sBAAsB,CAClC,KAAuB,EACvB,KAAqC,EACrC,YAAoB;IAEpB,MAAM,eAAe,GAAG,KAAK;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;;QAAC,OAAA,CAAC;YACT,KAAK,EAAE,MAAA,IAAA,uCAAuB,EAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,mCAAI,EAAE,KAAK,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE;YAC3F,IAAI,EAAE,CAAC,CAAC,eAAe;SAC1B,CAAC,CAAA;KAAA,CAAC;SACF,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QACb,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/C,IAAI,MAAM,KAAK,CAAC,EAAE;YACd,OAAO,MAAM,CAAC;SACjB;QAED,OAAO,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,qBAAS,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEP,iCAAiC;IACjC,IAAI,OAAO,GAAG,YAAY,CAAC;IAC3B,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE;QAClC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;KAClH;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AA1BD,wDA0BC;AAED,SAAgB,kBAAkB,CAAC,OAAwB,EAAE,KAAoB,EAAE,YAAyB;IACxG,IAAI,KAAK,CAAC,OAAO,EAAE;QACf,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YAC5C,MAAM,QAAQ,GAAG,IAAA,4BAAgB,EAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gBAClC,+CAA+C;gBAC/C,SAAS;aACZ;YAED,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC9B;KACJ;IAED,yCAAyC;IACzC,IAAI,KAAK,CAAC,eAAe,EAAE;QACvB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,eAAe,EAAE;YACxC,IAAI,wCAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;gBAC7B,MAAM,QAAQ,GAAG,IAAA,4BAAgB,EAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC/E,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACrD,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;oBAClC,+CAA+C;oBAC/C,SAAS;iBACZ;gBAED,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtD,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC9B;YAED,yDAAyD;YACzD,8EAA8E;SACjF;KACJ;AACL,CAAC;AAlCD,gDAkCC;AAED,SAAgB,oBAAoB,CAAC,OAAwB,EAAE,QAAwB,EAAE,KAAiB;;IACtG,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;QAC1B,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;QACzD,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,EAAE;YAC3E,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE;YACjD,eAAe,EAAE,MAAA,QAAQ,CAAC,iBAAiB,0CAAE,UAAU,CAAC,WAAW,EAAE;YACrE,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE;SACtD,CAAC,CAAC;KACN;IAED,MAAM,OAAO,GAAG,MAAA,QAAQ,CAAC,UAAU,CAAC,gBAAgB,EAAE,mCAAI,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,SAAS,GAAG,iDAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAA,QAAQ,CAAC,UAAU,CAAC,mBAAmB,EAAE,mCAAI,EAAE,CAAC,CAAC;IAEpH,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,CAAC,EAAE,iDAAY,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;QACpF,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE;QACjD,eAAe,EAAE,MAAA,QAAQ,CAAC,iBAAiB,0CAAE,UAAU,CAAC,WAAW,EAAE;QACrE,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE;KACtD,CAAC,CAAC;AACP,CAAC;AArBD,oDAqBC;AAED,SAAgB,qBAAqB,CACjC,eAAgC,EAChC,aAA8B,EAC9B,YAAyB;;IAEzB,oFAAoF;IACpF,6EAA6E;IAC7E,8HAA8H;IAC9H,yBAAyB;IACzB,MAAM,KAAK,GAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IAE7C,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE;QACjC,MAAM,QAAQ,GAAG,eAAe,CAAC,yBAAyB,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAChG,MAAM,KAAK,GAAG,aAAa,CAAC,yBAAyB,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC3F,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,EAAE;YACrB,mBAAmB;YACnB,SAAS;SACZ;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC;QAChD,IAAI,CAAC,YAAY,EAAE;YACf,SAAS;SACZ;QAED,KAAK,CAAC,OAAQ,CAAC,IAAA,4BAAgB,EAAC,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,GAAG;YAC7D;gBACI,KAAK,EAAE,IAAA,uCAAuB,EAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC;gBAC1F,OAAO,EAAE,MAAA,KAAK,CAAC,cAAc,EAAE,mCAAI,EAAE;aACxC;SACJ,CAAC;KACL;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAjCD,sDAiCC;AAED,SAAS,kCAAkC,CAAC,EAAsB,EAAE,KAAuB;IACvF,MAAM,aAAa,GAAkB;QACjC,OAAO,EAAE,EAAE;KACd,CAAC;IAEF,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAChD,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,SAAS,0CAA0C,CAC/C,EAAsB,EACtB,WAA4B,EAC5B,iBAEC,EACD,mBAAmB,GAAG,SAAS;IAE/B,MAAM,aAAa,GAAkB;QACjC,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,iBAAiB;KACvC,CAAC;IAEF,6CAA6C;IAC7C,mDAAmD;IACnD,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,cAAc,EAAE;QAChD,QAAQ,SAAS,CAAC,IAAI,EAAE;YACpB,KAAK,QAAQ;gBACT,aAAa,CAAC,eAAgB,CAAC,IAAI,CAC/B,kCAAU,CAAC,MAAM,CACb,IAAA,4BAAgB,EAAC,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC;gBACxC,aAAa,CAAC,SAAS,EACvB,mBAAmB,CACtB,CACJ,CAAC;gBACF,MAAM;YACV,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACT,MAAM;YACV;gBACI,IAAA,mBAAW,EAAC,SAAS,CAAC,CAAC;SAC9B;KACJ;IAED,gGAAgG;IAChG,MAAM,UAAU,GAAG,IAAA,oCAAkB,EAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE;QACnC,aAAa,CAAC,eAAgB,CAAC,IAAI,CAC/B,wCAAgB,CAAC,MAAM,CACnB,EAAE,GAAG,EAAE,IAAA,4BAAgB,EAAC,EAAE,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EACjD,KAAK,CAAC,IAAI,CACN,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,OAAO,EAAE,CAAC,CAAC,eAAe;YAC1B,YAAY,EAAE,mBAAmB;SACpC,CAAC,CAAC,CACN,CACJ,CACJ,CAAC;KACL;IAED,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,cAAc,EAAE;QAChD,QAAQ,SAAS,CAAC,IAAI,EAAE;YACpB,KAAK,QAAQ;gBACT,MAAM;YACV,KAAK,QAAQ;gBACT,aAAa,CAAC,eAAgB,CAAC,IAAI,CAC/B,kCAAU,CAAC,MAAM,CACb,IAAA,4BAAgB,EAAC,EAAE,EAAE,SAAS,CAAC,WAAW,CAAC,EAC3C,IAAA,4BAAgB,EAAC,EAAE,EAAE,SAAS,CAAC,WAAW,CAAC;gBAC3C,aAAa,CAAC,SAAS,EACvB,mBAAmB,CACtB,CACJ,CAAC;gBACF,MAAM;YACV,KAAK,QAAQ;gBACT,aAAa,CAAC,eAAgB,CAAC,IAAI,CAC/B,kCAAU,CAAC,MAAM,CACb,IAAA,4BAAgB,EAAC,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC;gBACxC,aAAa,CAAC,SAAS,EACvB,mBAAmB,CACtB,CACJ,CAAC;gBACF,MAAM;YACV;gBACI,IAAA,mBAAW,EAAC,SAAS,CAAC,CAAC;SAC9B;KACJ;IAED,OAAO,aAAa,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"workspaceEditUtils.js","sourceRoot":"","sources":["../../../src/common/workspaceEditUtils.ts"],"names":[],"mappings":"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"}
@@ -22,23 +22,23 @@ import { Host } from './common/host';
22
22
  import { ProgressReporter } from './common/progressReporter';
23
23
  import { ServiceProvider } from './common/serviceProvider';
24
24
  import { DocumentRange, Position, Range } from './common/textRange';
25
- import { UriParser } from './common/uriParser';
25
+ import { Uri } from './common/uri/uri';
26
26
  import { DefinitionFilter } from './languageService/definitionProvider';
27
27
  import { CollectionResult } from './languageService/documentSymbolCollector';
28
28
  import { ParseResults } from './parser/parser';
29
29
  import { InitStatus, Workspace, WorkspaceFactory } from './workspaceFactory';
30
30
  export interface ServerSettings {
31
- venvPath?: string | undefined;
32
- pythonPath?: string | undefined;
33
- typeshedPath?: string | undefined;
34
- stubPath?: string | undefined;
31
+ venvPath?: Uri | undefined;
32
+ pythonPath?: Uri | undefined;
33
+ typeshedPath?: Uri | undefined;
34
+ stubPath?: Uri | undefined;
35
35
  openFilesOnly?: boolean | undefined;
36
36
  typeCheckingMode?: string | undefined;
37
37
  useLibraryCodeForTypes?: boolean | undefined;
38
38
  disableLanguageServices?: boolean | undefined;
39
39
  disableOrganizeImports?: boolean | undefined;
40
40
  autoSearchPaths?: boolean | undefined;
41
- extraPaths?: string[] | undefined;
41
+ extraPaths?: Uri[] | undefined;
42
42
  watchForSourceChanges?: boolean | undefined;
43
43
  watchForLibraryChanges?: boolean | undefined;
44
44
  watchForConfigChanges?: boolean | undefined;
@@ -67,21 +67,20 @@ export interface WindowInterface {
67
67
  showInformationMessage(message: string, ...actions: MessageAction[]): Promise<MessageAction | undefined>;
68
68
  }
69
69
  export interface LanguageServerInterface {
70
- readonly rootPath: string;
70
+ readonly rootUri: Uri;
71
71
  readonly console: ConsoleInterface;
72
72
  readonly window: WindowInterface;
73
73
  readonly supportAdvancedEdits: boolean;
74
74
  getWorkspaces(): Promise<Workspace[]>;
75
- getWorkspaceForFile(filePath: string): Promise<Workspace>;
75
+ getWorkspaceForFile(fileUri: Uri): Promise<Workspace>;
76
76
  getSettings(workspace: Workspace): Promise<ServerSettings>;
77
77
  createBackgroundAnalysis(serviceId: string): BackgroundAnalysisBase | undefined;
78
78
  reanalyze(): void;
79
79
  restart(): void;
80
- decodeTextDocumentUri(uriString: string): string;
81
80
  }
82
81
  export interface ServerOptions {
83
82
  productName: string;
84
- rootDirectory: string;
83
+ rootDirectory: Uri;
85
84
  version: string;
86
85
  cancellationProvider: CancellationProvider;
87
86
  serviceProvider: ServiceProvider;
@@ -177,26 +176,24 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
177
176
  private _lastFileWatcherRegistration;
178
177
  private _initialized;
179
178
  private _workspaceFoldersChangedDisposable;
180
- rootPath: string;
179
+ rootUri: Uri;
181
180
  protected client: ClientCapabilities;
182
181
  protected defaultClientConfig: any;
183
182
  protected readonly workspaceFactory: WorkspaceFactory;
184
183
  protected readonly openFileMap: Map<string, TextDocument>;
185
184
  protected readonly fs: FileSystem;
186
185
  protected readonly documentsWithDiagnostics: Set<string>;
187
- readonly uriParser: UriParser;
188
- constructor(serverOptions: ServerOptions, connection: Connection, uriParserFactory?: (fs: FileSystem) => UriParser);
186
+ constructor(serverOptions: ServerOptions, connection: Connection);
189
187
  get console(): ConsoleInterface;
190
188
  get window(): RemoteWindow;
191
189
  get supportAdvancedEdits(): boolean;
192
190
  dispose(): void;
193
- decodeTextDocumentUri(uriString: string): string;
194
191
  abstract createBackgroundAnalysis(serviceId: string): BackgroundAnalysisBase | undefined;
195
192
  abstract getSettings(workspace: Workspace): Promise<ServerSettings>;
196
193
  createAnalyzerService(name: string, services?: WorkspaceServices, libraryReanalysisTimeProvider?: () => number): AnalyzerService;
197
194
  getWorkspaces(): Promise<Workspace[]>;
198
- getWorkspaceForFile(filePath: string, pythonPath?: string): Promise<Workspace>;
199
- getContainingWorkspacesForFile(filePath: string): Promise<Workspace[]>;
195
+ getWorkspaceForFile(fileUri: Uri, pythonPath?: Uri): Promise<Workspace>;
196
+ getContainingWorkspacesForFile(fileUri: Uri): Promise<Workspace[]>;
200
197
  reanalyze(): void;
201
198
  restart(): void;
202
199
  updateSettingsForAllWorkspaces(): void;
@@ -205,8 +202,8 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
205
202
  protected abstract executeCommand(params: ExecuteCommandParams, token: CancellationToken): Promise<any>;
206
203
  protected abstract isLongRunningCommand(command: string): boolean;
207
204
  protected abstract executeCodeAction(params: CodeActionParams, token: CancellationToken): Promise<(Command | CodeAction)[] | undefined | null>;
208
- protected isPythonPathImmutable(filePath: string): boolean;
209
- protected getConfiguration(scopeUri: string | undefined, section: string): Promise<any>;
205
+ protected isPythonPathImmutable(fileUri: Uri): boolean;
206
+ protected getConfiguration(scopeUri: Uri | undefined, section: string): Promise<any>;
210
207
  protected isOpenFilesOnly(diagnosticMode: string): boolean;
211
208
  protected getSeverityOverrides(value: string | boolean): DiagnosticSeverityOverrides | undefined;
212
209
  protected getDiagnosticRuleName(value: string): DiagnosticRule | undefined;
@@ -220,8 +217,8 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
220
217
  protected onDefinition(params: TextDocumentPositionParams, token: CancellationToken): Promise<Definition | DefinitionLink[] | undefined | null>;
221
218
  protected onDeclaration(params: TextDocumentPositionParams, token: CancellationToken): Promise<Declaration | DeclarationLink[] | undefined | null>;
222
219
  protected onTypeDefinition(params: TextDocumentPositionParams, token: CancellationToken): Promise<Definition | DefinitionLink[] | undefined | null>;
223
- protected getDefinitions(params: TextDocumentPositionParams, token: CancellationToken, filter: DefinitionFilter, getDefinitionsFunc: (workspace: Workspace, filePath: string, position: Position, filter: DefinitionFilter, token: CancellationToken) => DocumentRange[] | undefined): Promise<Location[] | undefined>;
224
- protected onReferences(params: ReferenceParams, token: CancellationToken, workDoneReporter: WorkDoneProgressReporter, resultReporter: ResultProgressReporter<Location[]> | undefined, createDocumentRange?: (filePath: string, result: CollectionResult, parseResults: ParseResults) => DocumentRange, convertToLocation?: (fs: ReadOnlyFileSystem, ranges: DocumentRange) => Location | undefined): Promise<Location[] | null | undefined>;
220
+ protected getDefinitions(params: TextDocumentPositionParams, token: CancellationToken, filter: DefinitionFilter, getDefinitionsFunc: (workspace: Workspace, fileUri: Uri, position: Position, filter: DefinitionFilter, token: CancellationToken) => DocumentRange[] | undefined): Promise<Location[] | undefined>;
221
+ protected onReferences(params: ReferenceParams, token: CancellationToken, workDoneReporter: WorkDoneProgressReporter, resultReporter: ResultProgressReporter<Location[]> | undefined, createDocumentRange?: (uri: Uri, result: CollectionResult, parseResults: ParseResults) => DocumentRange, convertToLocation?: (fs: ReadOnlyFileSystem, ranges: DocumentRange) => Location | undefined): Promise<Location[] | null | undefined>;
225
222
  protected onDocumentSymbol(params: DocumentSymbolParams, token: CancellationToken): Promise<DocumentSymbol[] | SymbolInformation[] | null | undefined>;
226
223
  protected onWorkspaceSymbol(params: WorkspaceSymbolParams, token: CancellationToken, resultReporter: ResultProgressReporter<SymbolInformation[]> | undefined): Promise<SymbolInformation[] | WorkspaceSymbol[] | null | undefined>;
227
224
  protected onHover(params: HoverParams, token: CancellationToken): Promise<import("vscode-languageserver-types").Hover | null>;
@@ -249,11 +246,11 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
249
246
  protected onAnalysisCompletedHandler(fs: FileSystem, results: AnalysisResults): void;
250
247
  protected onWorkspaceCreated(workspace: Workspace): void;
251
248
  protected onWorkspaceRemoved(workspace: Workspace): void;
252
- protected createAnalyzerServiceForWorkspace(name: string, _rootPath: string, _uri: string, kinds: string[], services?: WorkspaceServices): AnalyzerService;
249
+ protected createAnalyzerServiceForWorkspace(name: string, uri: Uri, kinds: string[], services?: WorkspaceServices): AnalyzerService;
253
250
  protected recordUserInteractionTime(): void;
254
251
  protected getDocumentationUrlForDiagnostic(diag: AnalyzerDiagnostic): string | undefined;
255
252
  protected abstract createProgressReporter(): ProgressReporter;
256
- protected canNavigateToFile(path: string, fs: FileSystem): boolean;
253
+ protected canNavigateToFile(path: Uri, fs: FileSystem): boolean;
257
254
  protected getProgressReporter(reporter: WorkDoneProgressReporter, title: string, token: CancellationToken): Promise<{
258
255
  reporter: WorkDoneProgressReporter;
259
256
  source: AbstractCancellationTokenSource;