@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
@@ -1 +1 @@
1
- {"version":3,"file":"textRange.js","sourceRoot":"","sources":["../../../src/common/textRange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"textRange.js","sourceRoot":"","sources":["../../../src/common/textRange.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { Uri } from './uri';
2
+ export declare abstract class BaseUri implements Uri {
3
+ private readonly _key;
4
+ protected constructor(_key: string);
5
+ get key(): string;
6
+ abstract get scheme(): string;
7
+ abstract get isCaseSensitive(): boolean;
8
+ abstract get fileName(): string;
9
+ get fileNameWithoutExtension(): string;
10
+ abstract get lastExtension(): string;
11
+ abstract get root(): Uri;
12
+ get packageUri(): Uri;
13
+ get packageStubUri(): Uri;
14
+ get initPyUri(): Uri;
15
+ get initPyiUri(): Uri;
16
+ get pytypedUri(): Uri;
17
+ isEmpty(): boolean;
18
+ abstract toString(): string;
19
+ abstract toUserVisibleString(): string;
20
+ abstract matchesRegex(regex: RegExp): boolean;
21
+ replaceExtension(ext: string): Uri;
22
+ addExtension(ext: string): Uri;
23
+ hasExtension(ext: string): boolean;
24
+ abstract addPath(extra: string): Uri;
25
+ abstract getDirectory(): Uri;
26
+ getRootPathLength(): number;
27
+ abstract isRoot(): boolean;
28
+ abstract isChild(parent: Uri, ignoreCase?: boolean): boolean;
29
+ abstract isLocal(): boolean;
30
+ isUntitled(): boolean;
31
+ equals(other: Uri | undefined): boolean;
32
+ abstract startsWith(other: Uri | undefined, ignoreCase?: boolean): boolean;
33
+ pathStartsWith(name: string): boolean;
34
+ pathEndsWith(name: string): boolean;
35
+ pathIncludes(include: string): boolean;
36
+ abstract getPathLength(): number;
37
+ abstract combinePaths(...paths: string[]): Uri;
38
+ getRelativePath(child: Uri): string | undefined;
39
+ getPathComponents(): readonly string[];
40
+ abstract getPath(): string;
41
+ abstract getFilePath(): string;
42
+ getRelativePathComponents(to: Uri): readonly string[];
43
+ getShortenedFileName(maxDirLength?: number): string;
44
+ stripExtension(): Uri;
45
+ stripAllExtensions(): Uri;
46
+ protected abstract getRootPath(): string;
47
+ protected normalizeSlashes(path: string): string;
48
+ protected reducePathComponents(components: string[]): string[];
49
+ protected abstract getComparablePath(): string;
50
+ protected abstract getPathComponentsImpl(): string[];
51
+ }
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ /*
3
+ * baseUri.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ *
7
+ * Base URI class for storing and manipulating URIs.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.BaseUri = void 0;
11
+ const collectionUtils_1 = require("../collectionUtils");
12
+ const pathUtils_1 = require("../pathUtils");
13
+ class BaseUri {
14
+ constructor(_key) {
15
+ this._key = _key;
16
+ }
17
+ // Unique key for storing in maps.
18
+ get key() {
19
+ return this._key;
20
+ }
21
+ // Returns just the fileName without any extensions
22
+ get fileNameWithoutExtension() {
23
+ const fileName = this.fileName;
24
+ const index = fileName.lastIndexOf('.');
25
+ if (index > 0) {
26
+ return fileName.slice(0, index);
27
+ }
28
+ else {
29
+ return fileName;
30
+ }
31
+ }
32
+ // Returns a URI where the path contains the path with .py appended.
33
+ get packageUri() {
34
+ // This is assuming that the current path is a file already.
35
+ return this.addExtension('.py');
36
+ }
37
+ // Returns a URI where the path contains the path with .pyi appended.
38
+ get packageStubUri() {
39
+ // This is assuming that the current path is a file already.
40
+ return this.addExtension('.pyi');
41
+ }
42
+ // Returns a URI where the path has __init__.py appended.
43
+ get initPyUri() {
44
+ // This is assuming that the current path is a directory already.
45
+ return this.combinePaths('__init__.py');
46
+ }
47
+ // Returns a URI where the path has __init__.pyi appended.
48
+ get initPyiUri() {
49
+ // This is assuming that the current path is a directory already.
50
+ return this.combinePaths('__init__.pyi');
51
+ }
52
+ // Returns a URI where the path has py.typed appended.
53
+ get pytypedUri() {
54
+ // This is assuming that the current path is a directory already.
55
+ return this.combinePaths('py.typed');
56
+ }
57
+ isEmpty() {
58
+ return false;
59
+ }
60
+ replaceExtension(ext) {
61
+ const dir = this.getDirectory();
62
+ const base = this.fileName;
63
+ const newBase = base.slice(0, base.length - this.lastExtension.length) + ext;
64
+ return dir.combinePaths(newBase);
65
+ }
66
+ addExtension(ext) {
67
+ return this.addPath(ext);
68
+ }
69
+ hasExtension(ext) {
70
+ return this.isCaseSensitive
71
+ ? this.lastExtension === ext
72
+ : this.lastExtension.toLowerCase() === ext.toLowerCase();
73
+ }
74
+ getRootPathLength() {
75
+ return this.getRootPath().length;
76
+ }
77
+ isUntitled() {
78
+ return this.scheme === 'untitled';
79
+ }
80
+ equals(other) {
81
+ return this.key === (other === null || other === void 0 ? void 0 : other.key);
82
+ }
83
+ pathStartsWith(name) {
84
+ // ignore path separators.
85
+ name = (0, pathUtils_1.normalizeSlashes)(name);
86
+ return this.getComparablePath().startsWith(name);
87
+ }
88
+ pathEndsWith(name) {
89
+ // ignore path separators.
90
+ name = (0, pathUtils_1.normalizeSlashes)(name);
91
+ return this.getComparablePath().endsWith(name);
92
+ }
93
+ pathIncludes(include) {
94
+ // ignore path separators.
95
+ include = (0, pathUtils_1.normalizeSlashes)(include);
96
+ return this.getComparablePath().includes(include);
97
+ }
98
+ getRelativePath(child) {
99
+ if (this.scheme !== child.scheme) {
100
+ return undefined;
101
+ }
102
+ // Unlike getRelativePathComponents, this function should not return relative path
103
+ // markers for non children.
104
+ if (child.isChild(this)) {
105
+ const relativeToComponents = this.getRelativePathComponents(child);
106
+ if (relativeToComponents.length > 0) {
107
+ return ['.', ...relativeToComponents].join('/');
108
+ }
109
+ }
110
+ return undefined;
111
+ }
112
+ getPathComponents() {
113
+ // Make sure to freeze the result so that it can't be modified.
114
+ return Object.freeze(this.getPathComponentsImpl());
115
+ }
116
+ getRelativePathComponents(to) {
117
+ const fromComponents = this.getPathComponents();
118
+ const toComponents = to.getPathComponents();
119
+ let start;
120
+ for (start = 0; start < fromComponents.length && start < toComponents.length; start++) {
121
+ const fromComponent = fromComponents[start];
122
+ const toComponent = toComponents[start];
123
+ if (fromComponent !== toComponent) {
124
+ break;
125
+ }
126
+ }
127
+ if (start === 0) {
128
+ return toComponents;
129
+ }
130
+ const components = toComponents.slice(start);
131
+ const relative = [];
132
+ for (; start < fromComponents.length; start++) {
133
+ relative.push('..');
134
+ }
135
+ return [...relative, ...components];
136
+ }
137
+ getShortenedFileName(maxDirLength = 15) {
138
+ return (0, pathUtils_1.getShortenedFileName)(this.getPath(), maxDirLength);
139
+ }
140
+ stripExtension() {
141
+ const base = this.fileName;
142
+ const index = base.lastIndexOf('.');
143
+ if (index > 0) {
144
+ const stripped = base.slice(0, index);
145
+ return this.getDirectory().combinePaths(stripped);
146
+ }
147
+ else {
148
+ return this;
149
+ }
150
+ }
151
+ stripAllExtensions() {
152
+ const base = this.fileName;
153
+ const stripped = base.split('.')[0];
154
+ if (stripped === base) {
155
+ return this;
156
+ }
157
+ else {
158
+ return this.getDirectory().combinePaths(stripped);
159
+ }
160
+ }
161
+ normalizeSlashes(path) {
162
+ return path.replace(/\\/g, '/');
163
+ }
164
+ reducePathComponents(components) {
165
+ if (!(0, collectionUtils_1.some)(components)) {
166
+ return [];
167
+ }
168
+ // Reduce the path components by eliminating
169
+ // any '.' or '..'. We start at 1 because the first component is
170
+ // always the root.
171
+ const reduced = [components[0]];
172
+ for (let i = 1; i < components.length; i++) {
173
+ const component = components[i];
174
+ if (!component || component === '.') {
175
+ continue;
176
+ }
177
+ if (component === '..') {
178
+ if (reduced.length > 1) {
179
+ if (reduced[reduced.length - 1] !== '..') {
180
+ reduced.pop();
181
+ continue;
182
+ }
183
+ }
184
+ else if (reduced[0]) {
185
+ continue;
186
+ }
187
+ }
188
+ reduced.push(component);
189
+ }
190
+ return reduced;
191
+ }
192
+ }
193
+ exports.BaseUri = BaseUri;
194
+ //# sourceMappingURL=baseUri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseUri.js","sourceRoot":"","sources":["../../../../src/common/uri/baseUri.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,wDAA0C;AAC1C,4CAAsE;AAGtE,MAAsB,OAAO;IACzB,YAAuC,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;IAAG,CAAC;IAEvD,kCAAkC;IAClC,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IAWD,mDAAmD;IACnD,IAAI,wBAAwB;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC,EAAE;YACX,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SACnC;aAAM;YACH,OAAO,QAAQ,CAAC;SACnB;IACL,CAAC;IAQD,oEAAoE;IACpE,IAAI,UAAU;QACV,4DAA4D;QAC5D,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,qEAAqE;IACrE,IAAI,cAAc;QACd,4DAA4D;QAC5D,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,yDAAyD;IACzD,IAAI,SAAS;QACT,iEAAiE;QACjE,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED,0DAA0D;IAC1D,IAAI,UAAU;QACV,iEAAiE;QACjE,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC;IAED,sDAAsD;IACtD,IAAI,UAAU;QACV,iEAAiE;QACjE,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACH,OAAO,KAAK,CAAC;IACjB,CAAC;IAQD,gBAAgB,CAAC,GAAW;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;QAC7E,OAAO,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,YAAY,CAAC,GAAW;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,YAAY,CAAC,GAAW;QACpB,OAAO,IAAI,CAAC,eAAe;YACvB,CAAC,CAAC,IAAI,CAAC,aAAa,KAAK,GAAG;YAC5B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC;IACjE,CAAC;IAOD,iBAAiB;QACb,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;IACrC,CAAC;IAUD,UAAU;QACN,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,KAAsB;QACzB,OAAO,IAAI,CAAC,GAAG,MAAK,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAA,CAAC;IACnC,CAAC;IAID,cAAc,CAAC,IAAY;QACvB,0BAA0B;QAC1B,IAAI,GAAG,IAAA,4BAAgB,EAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,0BAA0B;QAC1B,IAAI,GAAG,IAAA,4BAAgB,EAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,YAAY,CAAC,OAAe;QACxB,0BAA0B;QAC1B,OAAO,GAAG,IAAA,4BAAgB,EAAC,OAAO,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAQD,eAAe,CAAC,KAAU;QACtB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;YAC9B,OAAO,SAAS,CAAC;SACpB;QAED,kFAAkF;QAClF,4BAA4B;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACrB,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjC,OAAO,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACnD;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,iBAAiB;QACb,+DAA+D;QAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACvD,CAAC;IAMD,yBAAyB,CAAC,EAAO;QAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAChD,MAAM,YAAY,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;QAE5C,IAAI,KAAa,CAAC;QAClB,KAAK,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,cAAc,CAAC,MAAM,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACnF,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,aAAa,KAAK,WAAW,EAAE;gBAC/B,MAAM;aACT;SACJ;QAED,IAAI,KAAK,KAAK,CAAC,EAAE;YACb,OAAO,YAAY,CAAC;SACvB;QAED,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,OAAO,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC3C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvB;QACD,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,oBAAoB,CAAC,eAAuB,EAAE;QAC1C,OAAO,IAAA,gCAAoB,EAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED,cAAc;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC,EAAE;YACX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SACrD;aAAM;YACH,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IAED,kBAAkB;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,QAAQ,KAAK,IAAI,EAAE;YACnB,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SACrD;IACL,CAAC;IAIS,gBAAgB,CAAC,IAAY;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAES,oBAAoB,CAAC,UAAoB;QAC/C,IAAI,CAAC,IAAA,sBAAI,EAAC,UAAU,CAAC,EAAE;YACnB,OAAO,EAAE,CAAC;SACb;QAED,4CAA4C;QAC5C,gEAAgE;QAChE,mBAAmB;QACnB,MAAM,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,GAAG,EAAE;gBACjC,SAAS;aACZ;YAED,IAAI,SAAS,KAAK,IAAI,EAAE;gBACpB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;wBACtC,OAAO,CAAC,GAAG,EAAE,CAAC;wBACd,SAAS;qBACZ;iBACJ;qBAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;oBACnB,SAAS;iBACZ;aACJ;YACD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3B;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;CAIJ;AAhQD,0BAgQC"}
@@ -0,0 +1,32 @@
1
+ import { BaseUri } from './baseUri';
2
+ import { Uri } from './uri';
3
+ export declare class EmptyUri extends BaseUri {
4
+ private static _instance;
5
+ private constructor();
6
+ static get instance(): EmptyUri;
7
+ get scheme(): string;
8
+ get fileName(): string;
9
+ get lastExtension(): string;
10
+ get root(): Uri;
11
+ get isCaseSensitive(): boolean;
12
+ isEmpty(): boolean;
13
+ isLocal(): boolean;
14
+ getPath(): string;
15
+ getFilePath(): string;
16
+ toString(): string;
17
+ toUserVisibleString(): string;
18
+ matchesRegex(regex: RegExp): boolean;
19
+ replaceExtension(ext: string): Uri;
20
+ addPath(extra: string): Uri;
21
+ getDirectory(): Uri;
22
+ isRoot(): boolean;
23
+ isChild(parent: Uri): boolean;
24
+ startsWith(other: Uri | undefined): boolean;
25
+ getPathLength(): number;
26
+ combinePaths(...paths: string[]): Uri;
27
+ getShortenedFileName(maxDirLength: number): string;
28
+ stripExtension(): Uri;
29
+ protected getPathComponentsImpl(): string[];
30
+ protected getRootPath(): string;
31
+ protected getComparablePath(): string;
32
+ }
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ /*
3
+ * emptyUri.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ *
7
+ * URI class that represents an empty URI.
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.EmptyUri = void 0;
34
+ const debug = __importStar(require("../debug"));
35
+ const baseUri_1 = require("./baseUri");
36
+ const EmptyKey = '<empty>';
37
+ class EmptyUri extends baseUri_1.BaseUri {
38
+ constructor() {
39
+ super(EmptyKey);
40
+ }
41
+ static get instance() {
42
+ return EmptyUri._instance;
43
+ }
44
+ get scheme() {
45
+ return '';
46
+ }
47
+ get fileName() {
48
+ return '';
49
+ }
50
+ get lastExtension() {
51
+ return '';
52
+ }
53
+ get root() {
54
+ return this;
55
+ }
56
+ get isCaseSensitive() {
57
+ return true;
58
+ }
59
+ isEmpty() {
60
+ return true;
61
+ }
62
+ isLocal() {
63
+ return false;
64
+ }
65
+ getPath() {
66
+ return '';
67
+ }
68
+ getFilePath() {
69
+ debug.fail(`EmptyUri.getFilePath() should not be called.`);
70
+ }
71
+ toString() {
72
+ return '';
73
+ }
74
+ toUserVisibleString() {
75
+ return '';
76
+ }
77
+ matchesRegex(regex) {
78
+ return false;
79
+ }
80
+ replaceExtension(ext) {
81
+ return this;
82
+ }
83
+ addPath(extra) {
84
+ return this;
85
+ }
86
+ getDirectory() {
87
+ return this;
88
+ }
89
+ isRoot() {
90
+ return true;
91
+ }
92
+ isChild(parent) {
93
+ return false;
94
+ }
95
+ startsWith(other) {
96
+ return false;
97
+ }
98
+ getPathLength() {
99
+ return 0;
100
+ }
101
+ combinePaths(...paths) {
102
+ return this;
103
+ }
104
+ getShortenedFileName(maxDirLength) {
105
+ return '';
106
+ }
107
+ stripExtension() {
108
+ return this;
109
+ }
110
+ getPathComponentsImpl() {
111
+ return [];
112
+ }
113
+ getRootPath() {
114
+ return '';
115
+ }
116
+ getComparablePath() {
117
+ return '';
118
+ }
119
+ }
120
+ exports.EmptyUri = EmptyUri;
121
+ EmptyUri._instance = new EmptyUri();
122
+ //# sourceMappingURL=emptyUri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emptyUri.js","sourceRoot":"","sources":["../../../../src/common/uri/emptyUri.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,gDAAkC;AAClC,uCAAoC;AAGpC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAE3B,MAAa,QAAS,SAAQ,iBAAO;IAEjC;QACI,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,QAAQ;QACf,OAAO,QAAQ,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED,IAAa,MAAM;QACf,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAa,QAAQ;QACjB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAa,aAAa;QACtB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAa,IAAI;QACb,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAEQ,OAAO;QACZ,OAAO,IAAI,CAAC;IAChB,CAAC;IAEQ,OAAO;QACZ,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,OAAO;QACZ,OAAO,EAAE,CAAC;IACd,CAAC;IAEQ,WAAW;QAChB,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC/D,CAAC;IAEQ,QAAQ;QACb,OAAO,EAAE,CAAC;IACd,CAAC;IAEQ,mBAAmB;QACxB,OAAO,EAAE,CAAC;IACd,CAAC;IAEQ,YAAY,CAAC,KAAa;QAC/B,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,gBAAgB,CAAC,GAAW;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IACQ,OAAO,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAEQ,YAAY;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEQ,MAAM;QACX,OAAO,IAAI,CAAC;IAChB,CAAC;IAEQ,OAAO,CAAC,MAAW;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,UAAU,CAAC,KAAsB;QACtC,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,aAAa;QAClB,OAAO,CAAC,CAAC;IACb,CAAC;IAEQ,YAAY,CAAC,GAAG,KAAe;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEQ,oBAAoB,CAAC,YAAoB;QAC9C,OAAO,EAAE,CAAC;IACd,CAAC;IAEQ,cAAc;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEkB,qBAAqB;QACpC,OAAO,EAAE,CAAC;IACd,CAAC;IAEkB,WAAW;QAC1B,OAAO,EAAE,CAAC;IACd,CAAC;IAEkB,iBAAiB;QAChC,OAAO,EAAE,CAAC;IACd,CAAC;;AA3GL,4BA4GC;AA3GkB,kBAAS,GAAG,IAAI,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { BaseUri } from './baseUri';
2
+ import { Uri } from './uri';
3
+ export declare class FileUri extends BaseUri {
4
+ private readonly _filePath;
5
+ private readonly _query;
6
+ private readonly _fragment;
7
+ private readonly _originalString;
8
+ private readonly _isCaseSensitive;
9
+ private _formattedString;
10
+ private constructor();
11
+ get scheme(): string;
12
+ get fileName(): string;
13
+ get lastExtension(): string;
14
+ get root(): Uri;
15
+ get isCaseSensitive(): boolean;
16
+ static createFileUri(filePath: string, query: string, fragment: string, originalString: string | undefined, isCaseSensitive: boolean): FileUri;
17
+ static isFileUri(uri: any): uri is FileUri;
18
+ static fromJsonObj(obj: FileUri): FileUri;
19
+ matchesRegex(regex: RegExp): boolean;
20
+ toString(): string;
21
+ toUserVisibleString(): string;
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,180 @@
1
+ "use strict";
2
+ /*
3
+ * fileUri.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ *
7
+ * URI class that represents a file path. These URIs are always 'file' schemed.
8
+ */
9
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
10
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
12
+ 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;
13
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.FileUri = void 0;
17
+ const vscode_uri_1 = require("vscode-uri");
18
+ const pathUtils_1 = require("../pathUtils");
19
+ const baseUri_1 = require("./baseUri");
20
+ const memoization_1 = require("./memoization");
21
+ class FileUri extends baseUri_1.BaseUri {
22
+ constructor(key, _filePath, _query, _fragment, _originalString, _isCaseSensitive) {
23
+ super(_isCaseSensitive ? key : key.toLowerCase());
24
+ this._filePath = _filePath;
25
+ this._query = _query;
26
+ this._fragment = _fragment;
27
+ this._originalString = _originalString;
28
+ this._isCaseSensitive = _isCaseSensitive;
29
+ }
30
+ get scheme() {
31
+ return 'file';
32
+ }
33
+ get fileName() {
34
+ return (0, pathUtils_1.getFileName)(this._filePath);
35
+ }
36
+ get lastExtension() {
37
+ return (0, pathUtils_1.getFileExtension)(this._filePath);
38
+ }
39
+ get root() {
40
+ const rootPath = this.getRootPath();
41
+ if (rootPath !== this._filePath) {
42
+ return FileUri.createFileUri(rootPath, '', '', undefined, this._isCaseSensitive);
43
+ }
44
+ return this;
45
+ }
46
+ get isCaseSensitive() {
47
+ return this._isCaseSensitive;
48
+ }
49
+ static createFileUri(filePath, query, fragment, originalString, isCaseSensitive) {
50
+ const key = FileUri._createKey(filePath, query, fragment);
51
+ return new FileUri(key, filePath, query, fragment, originalString, isCaseSensitive);
52
+ }
53
+ static isFileUri(uri) {
54
+ return (uri === null || uri === void 0 ? void 0 : uri._filePath) !== undefined && (uri === null || uri === void 0 ? void 0 : uri._key) !== undefined;
55
+ }
56
+ static fromJsonObj(obj) {
57
+ return FileUri.createFileUri(obj._filePath, obj._query, obj._fragment, obj._originalString, obj._isCaseSensitive);
58
+ }
59
+ matchesRegex(regex) {
60
+ // Compare the regex to our path but normalize it for comparison.
61
+ // The regex assumes it's comparing itself to a URI path.
62
+ const path = this.normalizeSlashes(this._filePath);
63
+ return regex.test(path);
64
+ }
65
+ toString() {
66
+ if (!this._formattedString) {
67
+ this._formattedString =
68
+ this._originalString ||
69
+ vscode_uri_1.URI.file(this._filePath).with({ query: this._query, fragment: this._fragment }).toString();
70
+ }
71
+ return this._formattedString;
72
+ }
73
+ toUserVisibleString() {
74
+ return this._filePath;
75
+ }
76
+ addPath(extra) {
77
+ return FileUri.createFileUri(this._filePath + extra, '', '', undefined, this._isCaseSensitive);
78
+ }
79
+ isRoot() {
80
+ return (0, pathUtils_1.isDiskPathRoot)(this._filePath);
81
+ }
82
+ isChild(parent) {
83
+ if (!FileUri.isFileUri(parent)) {
84
+ return false;
85
+ }
86
+ return parent._filePath.length < this._filePath.length && this.startsWith(parent);
87
+ }
88
+ isLocal() {
89
+ return true;
90
+ }
91
+ startsWith(other) {
92
+ if (!other || !FileUri.isFileUri(other)) {
93
+ return false;
94
+ }
95
+ if (other.isEmpty() !== this.isEmpty()) {
96
+ return false;
97
+ }
98
+ if (this._filePath.length >= other._filePath.length) {
99
+ // Make sure the other ends with a / when comparing longer paths, otherwise we might
100
+ // say that /a/food is a child of /a/foo.
101
+ const otherPath = this._filePath.length > other._filePath.length && !(0, pathUtils_1.hasTrailingDirectorySeparator)(other._filePath)
102
+ ? (0, pathUtils_1.ensureTrailingDirectorySeparator)(other._filePath)
103
+ : other._filePath;
104
+ if (!this.isCaseSensitive) {
105
+ return this._filePath.toLowerCase().startsWith(otherPath.toLowerCase());
106
+ }
107
+ return this._filePath.startsWith(otherPath);
108
+ }
109
+ return false;
110
+ }
111
+ getPathLength() {
112
+ return this._filePath.length;
113
+ }
114
+ getPath() {
115
+ return this.normalizeSlashes(this._filePath);
116
+ }
117
+ getFilePath() {
118
+ return this._filePath;
119
+ }
120
+ combinePaths(...paths) {
121
+ // Resolve and combine paths, never want URIs with '..' in the middle.
122
+ let combined = (0, pathUtils_1.resolvePaths)(this._filePath, ...paths);
123
+ // Make sure to remove any trailing directory chars.
124
+ if ((0, pathUtils_1.hasTrailingDirectorySeparator)(combined) && combined.length > 1) {
125
+ combined = combined.slice(0, combined.length - 1);
126
+ }
127
+ if (combined !== this._filePath) {
128
+ return FileUri.createFileUri(combined, '', '', undefined, this._isCaseSensitive);
129
+ }
130
+ return this;
131
+ }
132
+ getDirectory() {
133
+ const filePath = this._filePath;
134
+ let dir = (0, pathUtils_1.getDirectoryPath)(filePath);
135
+ if ((0, pathUtils_1.hasTrailingDirectorySeparator)(dir) && dir.length > 1) {
136
+ dir = dir.slice(0, -1);
137
+ }
138
+ if (dir !== filePath) {
139
+ return FileUri.createFileUri(dir, '', '', undefined, this._isCaseSensitive);
140
+ }
141
+ else {
142
+ return this;
143
+ }
144
+ }
145
+ getPathComponentsImpl() {
146
+ const components = (0, pathUtils_1.getPathComponents)(this._filePath);
147
+ // Remove the first one if it's empty. The new algorithm doesn't
148
+ // expect this to be there.
149
+ if (components.length > 0 && components[0] === '') {
150
+ components.shift();
151
+ }
152
+ return components.map((component) => this.normalizeSlashes(component));
153
+ }
154
+ getRootPath() {
155
+ return this._filePath.slice(0, (0, pathUtils_1.getRootLength)(this._filePath));
156
+ }
157
+ getComparablePath() {
158
+ return (0, pathUtils_1.normalizeSlashes)(this._filePath);
159
+ }
160
+ static _createKey(filePath, query, fragment) {
161
+ return `${filePath}${query ? '?' + query : ''}${fragment ? '#' + fragment : ''}`;
162
+ }
163
+ }
164
+ exports.FileUri = FileUri;
165
+ __decorate([
166
+ (0, memoization_1.cacheProperty)()
167
+ ], FileUri.prototype, "fileName", null);
168
+ __decorate([
169
+ (0, memoization_1.cacheProperty)()
170
+ ], FileUri.prototype, "lastExtension", null);
171
+ __decorate([
172
+ (0, memoization_1.cacheProperty)()
173
+ ], FileUri.prototype, "root", null);
174
+ __decorate([
175
+ (0, memoization_1.cacheMethodWithNoArgs)()
176
+ ], FileUri.prototype, "getDirectory", null);
177
+ __decorate([
178
+ (0, memoization_1.cacheStaticFunc)()
179
+ ], FileUri, "createFileUri", null);
180
+ //# sourceMappingURL=fileUri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileUri.js","sourceRoot":"","sources":["../../../../src/common/uri/fileUri.ts"],"names":[],"mappings":"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"}