@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.
- package/dist/analyzer/analyzerFileInfo.d.ts +4 -3
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.d.ts +15 -14
- package/dist/analyzer/backgroundAnalysisProgram.js +38 -38
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.js +56 -52
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +43 -33
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/circularDependency.d.ts +3 -2
- package/dist/analyzer/circularDependency.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +29 -36
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +3 -5
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.js +1 -1
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +5 -3
- package/dist/analyzer/declaration.js +3 -2
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.d.ts +3 -2
- package/dist/analyzer/declarationUtils.js +14 -12
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/enums.js +1 -1
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +29 -25
- package/dist/analyzer/importResolver.js +300 -301
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importResult.d.ts +5 -4
- package/dist/analyzer/importResult.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +5 -4
- package/dist/analyzer/importStatementUtils.js +23 -22
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +3 -3
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/packageTypeReport.d.ts +7 -6
- package/dist/analyzer/packageTypeReport.js +4 -4
- package/dist/analyzer/packageTypeReport.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +68 -64
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parentDirectoryCache.d.ts +7 -6
- package/dist/analyzer/parentDirectoryCache.js +9 -10
- package/dist/analyzer/parentDirectoryCache.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/parseTreeUtils.js +6 -3
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +79 -14
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +27 -26
- package/dist/analyzer/program.js +162 -156
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +3 -3
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/pyTypedUtils.d.ts +3 -2
- package/dist/analyzer/pyTypedUtils.js +4 -5
- package/dist/analyzer/pyTypedUtils.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.d.ts +7 -6
- package/dist/analyzer/pythonPathUtils.js +21 -23
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/service.d.ts +24 -23
- package/dist/analyzer/service.js +187 -183
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +4 -5
- package/dist/analyzer/sourceFile.js +68 -56
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js +3 -3
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +11 -10
- package/dist/analyzer/sourceMapper.js +59 -62
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
- package/dist/analyzer/sourceMapperUtils.js +2 -2
- package/dist/analyzer/sourceMapperUtils.js.map +1 -1
- package/dist/analyzer/tracePrinter.d.ts +3 -2
- package/dist/analyzer/tracePrinter.js +21 -23
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.d.ts +2 -1
- package/dist/analyzer/typeDocStringUtils.js +14 -17
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +172 -102
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.js +3 -3
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +2 -0
- package/dist/analyzer/typePrinter.js +48 -8
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.d.ts +2 -1
- package/dist/analyzer/typeStubWriter.js +2 -2
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +4 -2
- package/dist/analyzer/typeUtils.js +16 -5
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +4 -4
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +5 -4
- package/dist/analyzer/types.js +4 -4
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysis.d.ts +1 -2
- package/dist/backgroundAnalysis.js +6 -4
- package/dist/backgroundAnalysis.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +22 -20
- package/dist/backgroundAnalysisBase.js +76 -55
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +1 -1
- package/dist/backgroundThreadBase.js +20 -11
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/createTypeStub.js +3 -2
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +21 -20
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/commands/quickActionCommand.js +5 -5
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +14 -13
- package/dist/common/configOptions.js +29 -27
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnostic.d.ts +6 -5
- package/dist/common/diagnostic.js +2 -2
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticSink.d.ts +2 -1
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/editAction.d.ts +6 -5
- package/dist/common/editAction.js +2 -2
- package/dist/common/editAction.js.map +1 -1
- package/dist/common/envVarUtils.d.ts +2 -1
- package/dist/common/envVarUtils.js +20 -28
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.d.ts +19 -19
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileSystem.d.ts +29 -28
- package/dist/common/fileWatcher.d.ts +3 -2
- package/dist/common/fileWatcher.js.map +1 -1
- package/dist/common/fullAccessHost.d.ts +8 -7
- package/dist/common/fullAccessHost.js +21 -16
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +7 -6
- package/dist/common/host.js +1 -1
- package/dist/common/host.js.map +1 -1
- package/dist/common/logTracker.d.ts +2 -1
- package/dist/common/logTracker.js +4 -4
- package/dist/common/logTracker.js.map +1 -1
- package/dist/common/pathUtils.d.ts +1 -28
- package/dist/common/pathUtils.js +17 -366
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +7 -3
- package/dist/common/realFileSystem.js +78 -60
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProviderExtensions.d.ts +2 -1
- package/dist/common/serviceProviderExtensions.js +5 -2
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/textEditTracker.d.ts +2 -1
- package/dist/common/textEditTracker.js +28 -28
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/textRange.d.ts +2 -1
- package/dist/common/textRange.js.map +1 -1
- package/dist/common/uri/baseUri.d.ts +51 -0
- package/dist/common/uri/baseUri.js +194 -0
- package/dist/common/uri/baseUri.js.map +1 -0
- package/dist/common/uri/emptyUri.d.ts +32 -0
- package/dist/common/uri/emptyUri.js +122 -0
- package/dist/common/uri/emptyUri.js.map +1 -0
- package/dist/common/uri/fileUri.d.ts +36 -0
- package/dist/common/uri/fileUri.js +180 -0
- package/dist/common/uri/fileUri.js.map +1 -0
- package/dist/common/uri/memoization.d.ts +3 -0
- package/dist/common/uri/memoization.js +72 -0
- package/dist/common/uri/memoization.js.map +1 -0
- package/dist/common/uri/uri.d.ts +50 -0
- package/dist/common/uri/uri.js +104 -0
- package/dist/common/uri/uri.js.map +1 -0
- package/dist/common/uri/uriUtils.d.ts +39 -0
- package/dist/common/uri/uriUtils.js +362 -0
- package/dist/common/uri/uriUtils.js.map +1 -0
- package/dist/common/uri/webUri.d.ts +36 -0
- package/dist/common/uri/webUri.js +207 -0
- package/dist/common/uri/webUri.js.map +1 -0
- package/dist/common/workspaceEditUtils.d.ts +8 -8
- package/dist/common/workspaceEditUtils.js +34 -37
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +19 -22
- package/dist/languageServerBase.js +91 -95
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +2 -1
- package/dist/languageService/analyzerServiceExecutor.js +14 -16
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +11 -9
- package/dist/languageService/autoImporter.js +45 -44
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.d.ts +3 -2
- package/dist/languageService/callHierarchyProvider.js +23 -35
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.d.ts +2 -1
- package/dist/languageService/codeActionProvider.js +8 -10
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +7 -6
- package/dist/languageService/completionProvider.js +32 -30
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +2 -1
- package/dist/languageService/completionProviderUtils.js +1 -1
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/definitionProvider.d.ts +4 -3
- package/dist/languageService/definitionProvider.js +26 -24
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.d.ts +3 -2
- package/dist/languageService/documentHighlightProvider.js +3 -3
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +8 -7
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.d.ts +5 -4
- package/dist/languageService/documentSymbolProvider.js +9 -11
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +4 -3
- package/dist/languageService/hoverProvider.js +6 -5
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/navigationUtils.d.ts +2 -1
- package/dist/languageService/navigationUtils.js +2 -3
- package/dist/languageService/navigationUtils.js.map +1 -1
- package/dist/languageService/quickActions.d.ts +2 -1
- package/dist/languageService/quickActions.js +3 -3
- package/dist/languageService/quickActions.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +10 -9
- package/dist/languageService/referencesProvider.js +28 -28
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.d.ts +4 -3
- package/dist/languageService/renameProvider.js +17 -18
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.d.ts +3 -2
- package/dist/languageService/signatureHelpProvider.js +4 -4
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.d.ts +2 -1
- package/dist/languageService/symbolIndexer.js +1 -1
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +10 -4
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.d.ts +4 -3
- package/dist/languageService/workspaceSymbolProvider.js +10 -11
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +1 -0
- package/dist/localization/localize.js +1 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +2 -1
- package/dist/pyright.js +18 -17
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +13 -13
- package/dist/pyrightFileSystem.js +38 -43
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +29 -28
- package/dist/readonlyAugmentedFileSystem.js +62 -65
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.js +21 -20
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +39 -30
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +31 -30
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/completions.test.js +7 -3
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +24 -22
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js +3 -2
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +37 -35
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +4 -4
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +27 -11
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +2 -2
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.d.ts +4 -5
- package/dist/tests/harness/fourslash/testLanguageService.js +9 -15
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +4 -4
- package/dist/tests/harness/fourslash/testState.js +91 -51
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/testAccessHost.d.ts +3 -2
- package/dist/tests/harness/testAccessHost.js +2 -1
- package/dist/tests/harness/testAccessHost.js.map +1 -1
- package/dist/tests/harness/testHost.js +13 -11
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/vfs/factory.d.ts +3 -2
- package/dist/tests/harness/vfs/factory.js +5 -4
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +32 -31
- package/dist/tests/harness/vfs/filesystem.js +47 -49
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/harness/vfs/pathValidation.js +1 -10
- package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
- package/dist/tests/importResolver.test.js +81 -58
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +10 -9
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +12 -11
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/logger.test.js +2 -1
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +2 -1
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/pathUtils.test.js +3 -138
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +38 -34
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/service.test.js +37 -42
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +3 -2
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +8 -7
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +13 -6
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +13 -9
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testStateUtils.d.ts +2 -5
- package/dist/tests/testStateUtils.js +27 -64
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/testUtils.d.ts +3 -5
- package/dist/tests/testUtils.js +15 -64
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/textEditUtil.test.js +4 -3
- package/dist/tests/textEditUtil.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +16 -15
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +18 -9
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +73 -62
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +20 -19
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +28 -27
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +4 -3
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/uri.test.d.ts +1 -0
- package/dist/tests/uri.test.js +695 -0
- package/dist/tests/uri.test.js.map +1 -0
- package/dist/tests/workspaceEditUtils.test.js +28 -28
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/tests/zipfs.test.js +11 -11
- package/dist/tests/zipfs.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +13 -14
- package/dist/workspaceFactory.js +54 -55
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +2 -2
- package/dist/common/uriParser.d.ts +0 -24
- package/dist/common/uriParser.js +0 -45
- package/dist/common/uriParser.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"textRange.js","sourceRoot":"","sources":["../../../src/common/textRange.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;
|
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":"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"}
|
@@ -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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"}
|