@zzzen/pyright-internal 1.2.0-dev.20240107 → 1.2.0-dev.20240121
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/binder.d.ts +1 -3
- package/dist/analyzer/binder.js +27 -37
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +2 -2
- package/dist/analyzer/checker.js +345 -351
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +2 -2
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/commentUtils.js +7 -7
- package/dist/analyzer/commentUtils.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +29 -30
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructorTransform.js +10 -11
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.d.ts +3 -3
- package/dist/analyzer/constructors.js +12 -14
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.js +17 -17
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/decorators.d.ts +1 -2
- package/dist/analyzer/decorators.js +13 -10
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/enums.d.ts +4 -2
- package/dist/analyzer/enums.js +109 -50
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/functionTransform.js +1 -2
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +2 -2
- package/dist/analyzer/importResolver.js +96 -27
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/namedTuples.js +8 -7
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.js +19 -21
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/parseTreeUtils.js +37 -0
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +26 -23
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.js +18 -4
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +8 -8
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +37 -30
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/service.d.ts +1 -1
- package/dist/analyzer/service.js +21 -20
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +2 -2
- package/dist/analyzer/sourceFile.js +17 -17
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +1042 -875
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +12 -11
- package/dist/analyzer/typeEvaluatorTypes.js +2 -4
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +16 -11
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +3 -4
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +5 -2
- package/dist/analyzer/typeUtils.js +19 -0
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +30 -34
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +12 -13
- package/dist/analyzer/types.js +49 -61
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +12 -11
- package/dist/backgroundAnalysisBase.js +60 -64
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +6 -5
- package/dist/backgroundThreadBase.js +63 -60
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/quickActionCommand.js +1 -1
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/common/cancellationUtils.d.ts +6 -3
- package/dist/common/cancellationUtils.js +29 -5
- package/dist/common/cancellationUtils.js.map +1 -1
- package/dist/common/commandLineOptions.d.ts +1 -0
- package/dist/common/commandLineOptions.js.map +1 -1
- package/dist/common/commandUtils.d.ts +2 -0
- package/dist/common/commandUtils.js +24 -0
- package/dist/common/commandUtils.js.map +1 -0
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +13 -11
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/core.d.ts +1 -1
- package/dist/common/core.js.map +1 -1
- package/dist/common/extensibility.d.ts +7 -6
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileBasedCancellationUtils.js +19 -13
- package/dist/common/fileBasedCancellationUtils.js.map +1 -1
- package/dist/common/fullAccessHost.d.ts +1 -1
- package/dist/common/fullAccessHost.js +2 -2
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +2 -2
- package/dist/common/host.js.map +1 -1
- package/dist/common/realFileSystem.js +8 -8
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProvider.js +8 -1
- package/dist/common/serviceProvider.js.map +1 -1
- package/dist/common/uri/baseUri.d.ts +11 -3
- package/dist/common/uri/baseUri.js +54 -25
- package/dist/common/uri/baseUri.js.map +1 -1
- package/dist/common/uri/emptyUri.d.ts +9 -4
- package/dist/common/uri/emptyUri.js +22 -8
- package/dist/common/uri/emptyUri.js.map +1 -1
- package/dist/common/uri/fileUri.d.ts +14 -4
- package/dist/common/uri/fileUri.js +65 -9
- package/dist/common/uri/fileUri.js.map +1 -1
- package/dist/common/uri/memoization.js +1 -1
- package/dist/common/uri/memoization.js.map +1 -1
- package/dist/common/uri/uri.d.ts +9 -2
- package/dist/common/uri/uri.js +5 -2
- package/dist/common/uri/uri.js.map +1 -1
- package/dist/common/uri/uriUtils.d.ts +2 -0
- package/dist/common/uri/uriUtils.js +21 -4
- package/dist/common/uri/uriUtils.js.map +1 -1
- package/dist/common/uri/webUri.d.ts +8 -1
- package/dist/common/uri/webUri.js +59 -13
- package/dist/common/uri/webUri.js.map +1 -1
- package/dist/common/workspaceEditUtils.d.ts +6 -5
- package/dist/common/workspaceEditUtils.js +18 -17
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +2 -0
- package/dist/languageServerBase.js +29 -25
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +1 -2
- package/dist/languageService/analyzerServiceExecutor.js +8 -5
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.js +3 -3
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +9 -7
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.js +3 -2
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +2 -4
- package/dist/languageService/completionProvider.js +14 -18
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.js +5 -4
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/navigationUtils.js +2 -1
- package/dist/languageService/navigationUtils.js.map +1 -1
- package/dist/languageService/renameProvider.js +2 -2
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.js +2 -1
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +10 -9
- package/dist/localization/localize.js +9 -5
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +50 -9
- package/dist/localization/package.nls.de.json +51 -10
- package/dist/localization/package.nls.en-us.json +11 -9
- package/dist/localization/package.nls.es.json +51 -10
- package/dist/localization/package.nls.fr.json +50 -9
- package/dist/localization/package.nls.it.json +51 -10
- package/dist/localization/package.nls.ja.json +51 -10
- package/dist/localization/package.nls.ko.json +51 -10
- package/dist/localization/package.nls.pl.json +51 -10
- package/dist/localization/package.nls.pt-br.json +51 -10
- package/dist/localization/package.nls.qps-ploc.json +51 -10
- package/dist/localization/package.nls.ru.json +50 -9
- package/dist/localization/package.nls.tr.json +51 -10
- package/dist/localization/package.nls.zh-cn.json +51 -10
- package/dist/localization/package.nls.zh-tw.json +51 -10
- package/dist/parser/parser.d.ts +1 -4
- package/dist/parser/parser.js +201 -201
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizer.d.ts +2 -4
- package/dist/parser/tokenizer.js +5 -6
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/parser/tokenizerTypes.d.ts +2 -2
- package/dist/parser/tokenizerTypes.js.map +1 -1
- package/dist/pyright.js +11 -9
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.js +2 -2
- package/dist/server.js +7 -5
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +8 -8
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/completions.test.js +3 -3
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +14 -6
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +6 -6
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +23 -9
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourslash/rename.multipleDecl.fourslash.d.ts +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +4 -0
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashTypes.d.ts +3 -0
- package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.js +2 -0
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +13 -0
- package/dist/tests/harness/fourslash/testState.js +14 -8
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/vfs/factory.d.ts +1 -1
- package/dist/tests/harness/vfs/factory.js +4 -4
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +1 -1
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +21 -22
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/localizer.test.js +2 -2
- package/dist/tests/localizer.test.js.map +1 -1
- package/dist/tests/serialization.test.d.ts +2 -0
- package/dist/tests/serialization.test.js +88 -0
- package/dist/tests/serialization.test.js.map +1 -0
- package/dist/tests/service.test.js +1 -1
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +2 -3
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +3 -3
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +2 -2
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +1 -1
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testStateUtils.js +2 -2
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/textEditUtil.test.js +1 -2
- package/dist/tests/textEditUtil.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +15 -3
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +12 -8
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +24 -6
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +5 -5
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +4 -0
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/uri.test.js +95 -15
- package/dist/tests/uri.test.js.map +1 -1
- package/dist/tests/workspaceEditUtils.test.js +8 -8
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +1 -0
- package/dist/workspaceFactory.js +2 -1
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +2 -1
@@ -6,10 +6,17 @@
|
|
6
6
|
*
|
7
7
|
* Base URI class for storing and manipulating URIs.
|
8
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
|
+
};
|
9
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
10
16
|
exports.BaseUri = void 0;
|
11
17
|
const collectionUtils_1 = require("../collectionUtils");
|
12
18
|
const pathUtils_1 = require("../pathUtils");
|
19
|
+
const memoization_1 = require("./memoization");
|
13
20
|
class BaseUri {
|
14
21
|
constructor(_key) {
|
15
22
|
this._key = _key;
|
@@ -19,7 +26,7 @@ class BaseUri {
|
|
19
26
|
return this._key;
|
20
27
|
}
|
21
28
|
// Returns just the fileName without any extensions
|
22
|
-
get
|
29
|
+
get fileNameWithoutExtensions() {
|
23
30
|
const fileName = this.fileName;
|
24
31
|
const index = fileName.lastIndexOf('.');
|
25
32
|
if (index > 0) {
|
@@ -42,17 +49,17 @@ class BaseUri {
|
|
42
49
|
// Returns a URI where the path has __init__.py appended.
|
43
50
|
get initPyUri() {
|
44
51
|
// This is assuming that the current path is a directory already.
|
45
|
-
return this.
|
52
|
+
return this.combinePathsUnsafe('__init__.py');
|
46
53
|
}
|
47
54
|
// Returns a URI where the path has __init__.pyi appended.
|
48
55
|
get initPyiUri() {
|
49
56
|
// This is assuming that the current path is a directory already.
|
50
|
-
return this.
|
57
|
+
return this.combinePathsUnsafe('__init__.pyi');
|
51
58
|
}
|
52
59
|
// Returns a URI where the path has py.typed appended.
|
53
60
|
get pytypedUri() {
|
54
61
|
// This is assuming that the current path is a directory already.
|
55
|
-
return this.
|
62
|
+
return this.combinePathsUnsafe('py.typed');
|
56
63
|
}
|
57
64
|
isEmpty() {
|
58
65
|
return false;
|
@@ -61,7 +68,7 @@ class BaseUri {
|
|
61
68
|
const dir = this.getDirectory();
|
62
69
|
const base = this.fileName;
|
63
70
|
const newBase = base.slice(0, base.length - this.lastExtension.length) + ext;
|
64
|
-
return dir.
|
71
|
+
return dir.combinePathsUnsafe(newBase);
|
65
72
|
}
|
66
73
|
addExtension(ext) {
|
67
74
|
return this.addPath(ext);
|
@@ -71,6 +78,12 @@ class BaseUri {
|
|
71
78
|
? this.lastExtension === ext
|
72
79
|
: this.lastExtension.toLowerCase() === ext.toLowerCase();
|
73
80
|
}
|
81
|
+
containsExtension(ext) {
|
82
|
+
const fileName = this.fileName;
|
83
|
+
// Use a regex so we keep the . on the front of the extension.
|
84
|
+
const extensions = fileName.split(/(?=\.)/g);
|
85
|
+
return extensions.some((e) => (this.isCaseSensitive ? e === ext : e.toLowerCase() === ext.toLowerCase()));
|
86
|
+
}
|
74
87
|
getRootPathLength() {
|
75
88
|
return this.getRootPath().length;
|
76
89
|
}
|
@@ -137,29 +150,30 @@ class BaseUri {
|
|
137
150
|
getShortenedFileName(maxDirLength = 15) {
|
138
151
|
return (0, pathUtils_1.getShortenedFileName)(this.getPath(), maxDirLength);
|
139
152
|
}
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
if (index > 0) {
|
144
|
-
const stripped = base.slice(0, index);
|
145
|
-
return this.getDirectory().combinePaths(stripped);
|
146
|
-
}
|
147
|
-
else {
|
148
|
-
return this;
|
153
|
+
normalizeSlashes(path) {
|
154
|
+
if (path.includes('\\')) {
|
155
|
+
return path.replace(/\\/g, '/');
|
149
156
|
}
|
157
|
+
return path;
|
150
158
|
}
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
+
static combinePathElements(pathString, separator, ...paths) {
|
160
|
+
// Borrowed this algorithm from the pathUtils combinePaths function. This is
|
161
|
+
// a quicker implementation that's possible because we assume all paths are normalized already.
|
162
|
+
for (const relativePath of paths) {
|
163
|
+
if (!relativePath) {
|
164
|
+
continue;
|
165
|
+
}
|
166
|
+
if (!pathString || (0, pathUtils_1.getRootLength)(relativePath) !== 0) {
|
167
|
+
pathString = relativePath;
|
168
|
+
}
|
169
|
+
else if (pathString.endsWith(separator)) {
|
170
|
+
pathString += relativePath;
|
171
|
+
}
|
172
|
+
else {
|
173
|
+
pathString += separator + relativePath;
|
174
|
+
}
|
159
175
|
}
|
160
|
-
|
161
|
-
normalizeSlashes(path) {
|
162
|
-
return path.replace(/\\/g, '/');
|
176
|
+
return pathString;
|
163
177
|
}
|
164
178
|
reducePathComponents(components) {
|
165
179
|
if (!(0, collectionUtils_1.some)(components)) {
|
@@ -191,4 +205,19 @@ class BaseUri {
|
|
191
205
|
}
|
192
206
|
}
|
193
207
|
exports.BaseUri = BaseUri;
|
208
|
+
__decorate([
|
209
|
+
(0, memoization_1.cacheProperty)()
|
210
|
+
], BaseUri.prototype, "packageUri", null);
|
211
|
+
__decorate([
|
212
|
+
(0, memoization_1.cacheProperty)()
|
213
|
+
], BaseUri.prototype, "packageStubUri", null);
|
214
|
+
__decorate([
|
215
|
+
(0, memoization_1.cacheProperty)()
|
216
|
+
], BaseUri.prototype, "initPyUri", null);
|
217
|
+
__decorate([
|
218
|
+
(0, memoization_1.cacheProperty)()
|
219
|
+
], BaseUri.prototype, "initPyiUri", null);
|
220
|
+
__decorate([
|
221
|
+
(0, memoization_1.cacheProperty)()
|
222
|
+
], BaseUri.prototype, "pytypedUri", null);
|
194
223
|
//# sourceMappingURL=baseUri.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"baseUri.js","sourceRoot":"","sources":["../../../../src/common/uri/baseUri.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG
|
1
|
+
{"version":3,"file":"baseUri.js","sourceRoot":"","sources":["../../../../src/common/uri/baseUri.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,7 @@
|
|
1
|
-
import {
|
1
|
+
import { JsonObjType } from './baseUri';
|
2
|
+
import { FileUri } from './fileUri';
|
2
3
|
import { Uri } from './uri';
|
3
|
-
export declare class EmptyUri extends
|
4
|
+
export declare class EmptyUri extends FileUri {
|
4
5
|
private static _instance;
|
5
6
|
private constructor();
|
6
7
|
static get instance(): EmptyUri;
|
@@ -8,7 +9,9 @@ export declare class EmptyUri extends BaseUri {
|
|
8
9
|
get fileName(): string;
|
9
10
|
get lastExtension(): string;
|
10
11
|
get root(): Uri;
|
11
|
-
get
|
12
|
+
get fragment(): string;
|
13
|
+
toJsonObj(): JsonObjType;
|
14
|
+
static isEmptyUri(uri: any): boolean;
|
12
15
|
isEmpty(): boolean;
|
13
16
|
isLocal(): boolean;
|
14
17
|
getPath(): string;
|
@@ -23,10 +26,12 @@ export declare class EmptyUri extends BaseUri {
|
|
23
26
|
isChild(parent: Uri): boolean;
|
24
27
|
startsWith(other: Uri | undefined): boolean;
|
25
28
|
getPathLength(): number;
|
26
|
-
combinePaths(...paths: string[]): Uri;
|
27
29
|
getShortenedFileName(maxDirLength: number): string;
|
28
30
|
stripExtension(): Uri;
|
31
|
+
withFragment(fragment: string): Uri;
|
32
|
+
stripAllExtensions(): Uri;
|
29
33
|
protected getPathComponentsImpl(): string[];
|
34
|
+
protected normalizeSlashes(path: string): string;
|
30
35
|
protected getRootPath(): string;
|
31
36
|
protected getComparablePath(): string;
|
32
37
|
}
|
@@ -8,11 +8,11 @@
|
|
8
8
|
*/
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
10
10
|
exports.EmptyUri = void 0;
|
11
|
-
const
|
11
|
+
const fileUri_1 = require("./fileUri");
|
12
12
|
const EmptyKey = '<empty>';
|
13
|
-
class EmptyUri extends
|
13
|
+
class EmptyUri extends fileUri_1.FileUri {
|
14
14
|
constructor() {
|
15
|
-
super(EmptyKey);
|
15
|
+
super(EmptyKey, '', '', '', undefined, /* isCaseSensitive */ true);
|
16
16
|
}
|
17
17
|
static get instance() {
|
18
18
|
return EmptyUri._instance;
|
@@ -29,8 +29,16 @@ class EmptyUri extends baseUri_1.BaseUri {
|
|
29
29
|
get root() {
|
30
30
|
return this;
|
31
31
|
}
|
32
|
-
get
|
33
|
-
return
|
32
|
+
get fragment() {
|
33
|
+
return '';
|
34
|
+
}
|
35
|
+
toJsonObj() {
|
36
|
+
return {
|
37
|
+
_key: EmptyKey,
|
38
|
+
};
|
39
|
+
}
|
40
|
+
static isEmptyUri(uri) {
|
41
|
+
return (uri === null || uri === void 0 ? void 0 : uri._key) === EmptyKey;
|
34
42
|
}
|
35
43
|
isEmpty() {
|
36
44
|
return true;
|
@@ -74,18 +82,24 @@ class EmptyUri extends baseUri_1.BaseUri {
|
|
74
82
|
getPathLength() {
|
75
83
|
return 0;
|
76
84
|
}
|
77
|
-
combinePaths(...paths) {
|
78
|
-
return this;
|
79
|
-
}
|
80
85
|
getShortenedFileName(maxDirLength) {
|
81
86
|
return '';
|
82
87
|
}
|
83
88
|
stripExtension() {
|
84
89
|
return this;
|
85
90
|
}
|
91
|
+
withFragment(fragment) {
|
92
|
+
return this;
|
93
|
+
}
|
94
|
+
stripAllExtensions() {
|
95
|
+
return this;
|
96
|
+
}
|
86
97
|
getPathComponentsImpl() {
|
87
98
|
return [];
|
88
99
|
}
|
100
|
+
normalizeSlashes(path) {
|
101
|
+
return '';
|
102
|
+
}
|
89
103
|
getRootPath() {
|
90
104
|
return '';
|
91
105
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"emptyUri.js","sourceRoot":"","sources":["../../../../src/common/uri/emptyUri.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
1
|
+
{"version":3,"file":"emptyUri.js","sourceRoot":"","sources":["../../../../src/common/uri/emptyUri.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAGH,uCAAoC;AAGpC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAE3B,MAAa,QAAS,SAAQ,iBAAO;IAEjC;QACI,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACvE,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,IAAa,QAAQ;QACjB,OAAO,EAAE,CAAC;IACd,CAAC;IAEQ,SAAS;QACd,OAAO;YACH,IAAI,EAAE,QAAQ;SACjB,CAAC;IACN,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAQ;QACtB,OAAO,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAK,QAAQ,CAAC;IAClC,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,OAAO,EAAE,CAAC;IACd,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,oBAAoB,CAAC,YAAoB;QAC9C,OAAO,EAAE,CAAC;IACd,CAAC;IAEQ,cAAc;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEQ,YAAY,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEQ,kBAAkB;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEkB,qBAAqB;QACpC,OAAO,EAAE,CAAC;IACd,CAAC;IAEkB,gBAAgB,CAAC,IAAY;QAC5C,OAAO,EAAE,CAAC;IACd,CAAC;IAEkB,WAAW;QAC1B,OAAO,EAAE,CAAC;IACd,CAAC;IAEkB,iBAAiB;QAChC,OAAO,EAAE,CAAC;IACd,CAAC;;AA7HL,4BA8HC;AA7HkB,kBAAS,GAAG,IAAI,QAAQ,EAAE,CAAC"}
|
@@ -1,5 +1,6 @@
|
|
1
|
-
import { BaseUri } from './baseUri';
|
1
|
+
import { BaseUri, JsonObjType } from './baseUri';
|
2
2
|
import { Uri } from './uri';
|
3
|
+
type SerializedType = [0, string, string, string, string | undefined, 1 | 0];
|
3
4
|
export declare class FileUri extends BaseUri {
|
4
5
|
private readonly _filePath;
|
5
6
|
private readonly _query;
|
@@ -7,15 +8,18 @@ export declare class FileUri extends BaseUri {
|
|
7
8
|
private readonly _originalString;
|
8
9
|
private readonly _isCaseSensitive;
|
9
10
|
private _formattedString;
|
10
|
-
private
|
11
|
+
private static _separator;
|
12
|
+
protected constructor(key: string, _filePath: string, _query: string, _fragment: string, _originalString: string | undefined, _isCaseSensitive: boolean);
|
11
13
|
get scheme(): string;
|
14
|
+
get fragment(): string;
|
12
15
|
get fileName(): string;
|
13
16
|
get lastExtension(): string;
|
14
17
|
get root(): Uri;
|
15
18
|
get isCaseSensitive(): boolean;
|
16
19
|
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;
|
20
|
+
static isFileUri(uri: any): uri is FileUri | SerializedType;
|
21
|
+
static fromJsonObj(obj: FileUri | SerializedType): FileUri;
|
22
|
+
toJsonObj(): JsonObjType;
|
19
23
|
matchesRegex(regex: RegExp): boolean;
|
20
24
|
toString(): string;
|
21
25
|
toUserVisibleString(): string;
|
@@ -27,10 +31,16 @@ export declare class FileUri extends BaseUri {
|
|
27
31
|
getPathLength(): number;
|
28
32
|
getPath(): string;
|
29
33
|
getFilePath(): string;
|
34
|
+
resolvePaths(...paths: string[]): Uri;
|
30
35
|
combinePaths(...paths: string[]): Uri;
|
36
|
+
combinePathsUnsafe(...paths: string[]): Uri;
|
31
37
|
getDirectory(): Uri;
|
38
|
+
withFragment(fragment: string): Uri;
|
39
|
+
stripExtension(): Uri;
|
40
|
+
stripAllExtensions(): Uri;
|
32
41
|
protected getPathComponentsImpl(): string[];
|
33
42
|
protected getRootPath(): string;
|
34
43
|
protected getComparablePath(): string;
|
35
44
|
private static _createKey;
|
36
45
|
}
|
46
|
+
export {};
|
@@ -15,6 +15,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
16
16
|
exports.FileUri = void 0;
|
17
17
|
const vscode_uri_1 = require("vscode-uri");
|
18
|
+
const core_1 = require("../core");
|
18
19
|
const pathUtils_1 = require("../pathUtils");
|
19
20
|
const baseUri_1 = require("./baseUri");
|
20
21
|
const memoization_1 = require("./memoization");
|
@@ -30,6 +31,9 @@ class FileUri extends baseUri_1.BaseUri {
|
|
30
31
|
get scheme() {
|
31
32
|
return 'file';
|
32
33
|
}
|
34
|
+
get fragment() {
|
35
|
+
return this._fragment;
|
36
|
+
}
|
33
37
|
get fileName() {
|
34
38
|
return (0, pathUtils_1.getFileName)(this._filePath);
|
35
39
|
}
|
@@ -51,11 +55,28 @@ class FileUri extends baseUri_1.BaseUri {
|
|
51
55
|
return new FileUri(key, filePath, query, fragment, originalString, isCaseSensitive);
|
52
56
|
}
|
53
57
|
static isFileUri(uri) {
|
58
|
+
if ((0, core_1.isArray)(uri) && uri[0] === 0 && uri.length === 6) {
|
59
|
+
return true;
|
60
|
+
}
|
54
61
|
return (uri === null || uri === void 0 ? void 0 : uri._filePath) !== undefined && (uri === null || uri === void 0 ? void 0 : uri._key) !== undefined;
|
55
62
|
}
|
56
63
|
static fromJsonObj(obj) {
|
64
|
+
if ((0, core_1.isArray)(obj)) {
|
65
|
+
return FileUri.createFileUri(obj[1], obj[2], obj[3], obj[4], obj[5] === 1 ? true : false);
|
66
|
+
}
|
57
67
|
return FileUri.createFileUri(obj._filePath, obj._query, obj._fragment, obj._originalString, obj._isCaseSensitive);
|
58
68
|
}
|
69
|
+
toJsonObj() {
|
70
|
+
const jsonObj = [
|
71
|
+
0,
|
72
|
+
this._filePath,
|
73
|
+
this._query,
|
74
|
+
this._fragment,
|
75
|
+
this._originalString,
|
76
|
+
this._isCaseSensitive ? 1 : 0,
|
77
|
+
];
|
78
|
+
return jsonObj;
|
79
|
+
}
|
59
80
|
matchesRegex(regex) {
|
60
81
|
// Compare the regex to our path but normalize it for comparison.
|
61
82
|
// The regex assumes it's comparing itself to a URI path.
|
@@ -89,18 +110,17 @@ class FileUri extends baseUri_1.BaseUri {
|
|
89
110
|
return true;
|
90
111
|
}
|
91
112
|
startsWith(other) {
|
92
|
-
if (
|
93
|
-
return false;
|
94
|
-
}
|
95
|
-
if (other.isEmpty() !== this.isEmpty()) {
|
113
|
+
if ((other === null || other === void 0 ? void 0 : other.scheme) !== this.scheme) {
|
96
114
|
return false;
|
97
115
|
}
|
98
|
-
|
116
|
+
const otherFileUri = other;
|
117
|
+
if (this._filePath.length >= otherFileUri._filePath.length) {
|
99
118
|
// Make sure the other ends with a / when comparing longer paths, otherwise we might
|
100
119
|
// say that /a/food is a child of /a/foo.
|
101
|
-
const otherPath = this._filePath.length >
|
102
|
-
|
103
|
-
|
120
|
+
const otherPath = this._filePath.length > otherFileUri._filePath.length &&
|
121
|
+
!(0, pathUtils_1.hasTrailingDirectorySeparator)(otherFileUri._filePath)
|
122
|
+
? (0, pathUtils_1.ensureTrailingDirectorySeparator)(otherFileUri._filePath)
|
123
|
+
: otherFileUri._filePath;
|
104
124
|
if (!this.isCaseSensitive) {
|
105
125
|
return this._filePath.toLowerCase().startsWith(otherPath.toLowerCase());
|
106
126
|
}
|
@@ -117,7 +137,7 @@ class FileUri extends baseUri_1.BaseUri {
|
|
117
137
|
getFilePath() {
|
118
138
|
return this._filePath;
|
119
139
|
}
|
120
|
-
|
140
|
+
resolvePaths(...paths) {
|
121
141
|
// Resolve and combine paths, never want URIs with '..' in the middle.
|
122
142
|
let combined = (0, pathUtils_1.resolvePaths)(this._filePath, ...paths);
|
123
143
|
// Make sure to remove any trailing directory chars.
|
@@ -129,6 +149,24 @@ class FileUri extends baseUri_1.BaseUri {
|
|
129
149
|
}
|
130
150
|
return this;
|
131
151
|
}
|
152
|
+
combinePaths(...paths) {
|
153
|
+
if (paths.some((p) => p.includes('..') || p.includes(FileUri._separator) || p.includes('/') || p === '.')) {
|
154
|
+
// This is a slow path that handles paths that contain '..' or '.'.
|
155
|
+
return this.resolvePaths(...paths);
|
156
|
+
}
|
157
|
+
// Paths don't have any thing special that needs to be combined differently, so just
|
158
|
+
// use the quick method.
|
159
|
+
return this.combinePathsUnsafe(...paths);
|
160
|
+
}
|
161
|
+
combinePathsUnsafe(...paths) {
|
162
|
+
// Combine paths using the quicker path implementation as we
|
163
|
+
// assume all data is already normalized.
|
164
|
+
const combined = baseUri_1.BaseUri.combinePathElements(this._filePath, FileUri._separator, ...paths);
|
165
|
+
if (combined !== this._filePath) {
|
166
|
+
return FileUri.createFileUri(combined, '', '', undefined, this._isCaseSensitive);
|
167
|
+
}
|
168
|
+
return this;
|
169
|
+
}
|
132
170
|
getDirectory() {
|
133
171
|
const filePath = this._filePath;
|
134
172
|
let dir = (0, pathUtils_1.getDirectoryPath)(filePath);
|
@@ -142,6 +180,23 @@ class FileUri extends baseUri_1.BaseUri {
|
|
142
180
|
return this;
|
143
181
|
}
|
144
182
|
}
|
183
|
+
withFragment(fragment) {
|
184
|
+
return FileUri.createFileUri(this._filePath, this._query, fragment, undefined, this._isCaseSensitive);
|
185
|
+
}
|
186
|
+
stripExtension() {
|
187
|
+
const stripped = (0, pathUtils_1.stripFileExtension)(this._filePath);
|
188
|
+
if (stripped !== this._filePath) {
|
189
|
+
return FileUri.createFileUri(stripped, this._query, this._fragment, undefined, this._isCaseSensitive);
|
190
|
+
}
|
191
|
+
return this;
|
192
|
+
}
|
193
|
+
stripAllExtensions() {
|
194
|
+
const stripped = (0, pathUtils_1.stripFileExtension)(this._filePath, /* multiDotExtension */ true);
|
195
|
+
if (stripped !== this._filePath) {
|
196
|
+
return FileUri.createFileUri(stripped, this._query, this._fragment, undefined, this._isCaseSensitive);
|
197
|
+
}
|
198
|
+
return this;
|
199
|
+
}
|
145
200
|
getPathComponentsImpl() {
|
146
201
|
const components = (0, pathUtils_1.getPathComponents)(this._filePath);
|
147
202
|
// Remove the first one if it's empty. The new algorithm doesn't
|
@@ -162,6 +217,7 @@ class FileUri extends baseUri_1.BaseUri {
|
|
162
217
|
}
|
163
218
|
}
|
164
219
|
exports.FileUri = FileUri;
|
220
|
+
FileUri._separator = (0, pathUtils_1.getPathSeparator)('');
|
165
221
|
__decorate([
|
166
222
|
(0, memoization_1.cacheProperty)()
|
167
223
|
], FileUri.prototype, "fileName", null);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"fileUri.js","sourceRoot":"","sources":["../../../../src/common/uri/fileUri.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;AAEH,2CAAiC;AACjC,
|
1
|
+
{"version":3,"file":"fileUri.js","sourceRoot":"","sources":["../../../../src/common/uri/fileUri.ts"],"names":[],"mappings":"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"}
|
@@ -54,7 +54,7 @@ function cacheStaticFunc() {
|
|
54
54
|
return function cacheStaticFunc_Fast(target, functionName, descriptor) {
|
55
55
|
const originalMethod = descriptor.value;
|
56
56
|
descriptor.value = function (...args) {
|
57
|
-
const key = `${functionName}+${args.map((a) => a === null || a === void 0 ? void 0 : a.toString()).join(',')}`;
|
57
|
+
const key = `${functionName}+${args === null || args === void 0 ? void 0 : args.map((a) => a === null || a === void 0 ? void 0 : a.toString()).join(',')}`;
|
58
58
|
let cachedResult;
|
59
59
|
if (!staticCache.has(key)) {
|
60
60
|
cachedResult = originalMethod.apply(this, args);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"memoization.js","sourceRoot":"","sources":["../../../../src/common/uri/memoization.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,mCAAmC;AACnC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAe,CAAC;AAE3C,2CAA2C;AAC3C,SAAgB,aAAa;IACzB,OAAO,UAAU,MAAW,EAAE,YAAoB,EAAE,UAA8B;QAC9E,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC;QACtC,UAAU,CAAC,GAAG,GAAG,UAAqB,GAAG,IAAS;YAC9C,4CAA4C;YAC5C,MAAM,MAAM,GAAG,cAAe,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEjD,+EAA+E;YAC/E,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE;gBACtC,GAAG;oBACC,OAAO,MAAM,CAAC;gBAClB,CAAC;aACJ,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC;AAjBD,sCAiBC;AAED,mDAAmD;AACnD,8EAA8E;AAC9E,SAAgB,qBAAqB;IACjC,OAAO,UAAU,MAAW,EAAE,YAAoB,EAAE,UAA8B;QAC9E,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QACxC,UAAU,CAAC,KAAK,GAAG,UAAqB,GAAG,IAAS;YAChD,4CAA4C;YAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEhD,+EAA+E;YAC/E,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,EAAE;gBACtB,mFAAmF;gBACnF,yDAAyD;gBACzD,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC;YACF,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC;AAjBD,sDAiBC;AAED,8DAA8D;AAC9D,SAAgB,eAAe;IAC3B,OAAO,SAAS,oBAAoB,CAAC,MAAW,EAAE,YAAoB,EAAE,UAA8B;QAClG,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QACxC,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAS;YACrC,MAAM,GAAG,GAAG,GAAG,YAAY,IAAI,IAAI,
|
1
|
+
{"version":3,"file":"memoization.js","sourceRoot":"","sources":["../../../../src/common/uri/memoization.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,mCAAmC;AACnC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAe,CAAC;AAE3C,2CAA2C;AAC3C,SAAgB,aAAa;IACzB,OAAO,UAAU,MAAW,EAAE,YAAoB,EAAE,UAA8B;QAC9E,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC;QACtC,UAAU,CAAC,GAAG,GAAG,UAAqB,GAAG,IAAS;YAC9C,4CAA4C;YAC5C,MAAM,MAAM,GAAG,cAAe,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEjD,+EAA+E;YAC/E,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE;gBACtC,GAAG;oBACC,OAAO,MAAM,CAAC;gBAClB,CAAC;aACJ,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC;AAjBD,sCAiBC;AAED,mDAAmD;AACnD,8EAA8E;AAC9E,SAAgB,qBAAqB;IACjC,OAAO,UAAU,MAAW,EAAE,YAAoB,EAAE,UAA8B;QAC9E,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QACxC,UAAU,CAAC,KAAK,GAAG,UAAqB,GAAG,IAAS;YAChD,4CAA4C;YAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEhD,+EAA+E;YAC/E,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,EAAE;gBACtB,mFAAmF;gBACnF,yDAAyD;gBACzD,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC;YACF,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC;QACF,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC;AAjBD,sDAiBC;AAED,8DAA8D;AAC9D,SAAgB,eAAe;IAC3B,OAAO,SAAS,oBAAoB,CAAC,MAAW,EAAE,YAAoB,EAAE,UAA8B;QAClG,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QACxC,UAAU,CAAC,KAAK,GAAG,UAAU,GAAG,IAAS;YACrC,MAAM,GAAG,GAAG,GAAG,YAAY,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChF,IAAI,YAAiB,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBACvB,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAChD,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;aACtC;iBAAM;gBACH,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACvC;YACD,OAAO,YAAY,CAAC;QACxB,CAAC,CAAC;QACF,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC;AAhBD,0CAgBC"}
|
package/dist/common/uri/uri.d.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import { JsonObjType } from './baseUri';
|
1
2
|
export interface Uri {
|
2
3
|
readonly key: string;
|
3
4
|
readonly scheme: string;
|
@@ -9,8 +10,9 @@ export interface Uri {
|
|
9
10
|
readonly initPyUri: Uri;
|
10
11
|
readonly initPyiUri: Uri;
|
11
12
|
readonly pytypedUri: Uri;
|
12
|
-
readonly
|
13
|
+
readonly fileNameWithoutExtensions: string;
|
13
14
|
readonly isCaseSensitive: boolean;
|
15
|
+
readonly fragment: string;
|
14
16
|
isEmpty(): boolean;
|
15
17
|
toString(): string;
|
16
18
|
toUserVisibleString(): string;
|
@@ -28,7 +30,9 @@ export interface Uri {
|
|
28
30
|
getDirectory(): Uri;
|
29
31
|
getRootPathLength(): number;
|
30
32
|
getPathLength(): number;
|
33
|
+
resolvePaths(...paths: string[]): Uri;
|
31
34
|
combinePaths(...paths: string[]): Uri;
|
35
|
+
combinePathsUnsafe(...paths: string[]): Uri;
|
32
36
|
getRelativePath(child: Uri): string | undefined;
|
33
37
|
getPathComponents(): readonly string[];
|
34
38
|
getPath(): string;
|
@@ -40,11 +44,14 @@ export interface Uri {
|
|
40
44
|
replaceExtension(ext: string): Uri;
|
41
45
|
addExtension(ext: string): Uri;
|
42
46
|
hasExtension(ext: string): boolean;
|
47
|
+
containsExtension(ext: string): boolean;
|
48
|
+
withFragment(fragment: string): Uri;
|
49
|
+
toJsonObj(): any;
|
43
50
|
}
|
44
51
|
export declare namespace Uri {
|
45
52
|
function file(path: string, isCaseSensitive?: boolean, checkRelative?: boolean): Uri;
|
46
53
|
function empty(): Uri;
|
47
|
-
function fromJsonObj(jsonObj:
|
54
|
+
function fromJsonObj(jsonObj: JsonObjType): any;
|
48
55
|
function parse(value: string | undefined, isCaseSensitive: boolean): Uri;
|
49
56
|
function isUri(thing: any): thing is Uri;
|
50
57
|
}
|
package/dist/common/uri/uri.js
CHANGED
@@ -33,7 +33,7 @@ function getFilePath(uri) {
|
|
33
33
|
}
|
34
34
|
// vscode.URI normalizes the path to use the correct path separators.
|
35
35
|
// We need to do the same.
|
36
|
-
if (process.platform === 'win32') {
|
36
|
+
if ((process === null || process === void 0 ? void 0 : process.platform) === 'win32') {
|
37
37
|
filePath = filePath.replace(/\//g, '\\');
|
38
38
|
}
|
39
39
|
return filePath;
|
@@ -52,7 +52,7 @@ function normalizeUri(uri) {
|
|
52
52
|
}
|
53
53
|
// Original URI may not have resolved all the `..` in the path, so remove them.
|
54
54
|
// Note: this also has the effect of removing any trailing slashes.
|
55
|
-
const finalURI = vscode_uri_1.Utils.resolvePath(parsed);
|
55
|
+
const finalURI = parsed.path.length > 0 ? vscode_uri_1.Utils.resolvePath(parsed) : parsed;
|
56
56
|
const finalString = finalURI.path.length !== parsed.path.length ? finalURI.toString() : originalString;
|
57
57
|
return { uri: finalURI, str: finalString };
|
58
58
|
}
|
@@ -79,6 +79,9 @@ var Uri;
|
|
79
79
|
if (webUri_1.WebUri.isWebUri(jsonObj)) {
|
80
80
|
return webUri_1.WebUri.fromJsonObj(jsonObj);
|
81
81
|
}
|
82
|
+
if (emptyUri_1.EmptyUri.isEmptyUri(jsonObj)) {
|
83
|
+
return emptyUri_1.EmptyUri.instance;
|
84
|
+
}
|
82
85
|
return jsonObj;
|
83
86
|
}
|
84
87
|
Uri.fromJsonObj = fromJsonObj;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"uri.js","sourceRoot":"","sources":["../../../../src/common/uri/uri.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,2CAAwC;AACxC,4CAA8D;AAC9D,yCAAsC;AACtC,uCAAoC;AACpC,qCAAkC;
|
1
|
+
{"version":3,"file":"uri.js","sourceRoot":"","sources":["../../../../src/common/uri/uri.ts"],"names":[],"mappings":"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"}
|
@@ -35,5 +35,7 @@ export declare function hasPythonExtension(uri: Uri): boolean;
|
|
35
35
|
export declare function getFileSpec(root: Uri, fileSpec: string): FileSpec;
|
36
36
|
export declare function isFileSystemCaseSensitive(fs: FileSystem, tmp: TempFile | undefined): boolean;
|
37
37
|
export declare function isFileSystemCaseSensitiveInternal(fs: FileSystem, tmp: TempFile): boolean;
|
38
|
+
export declare function getDirectoryChangeKind(fs: ReadOnlyFileSystem, oldDirectory: Uri, newDirectory: Uri): 'Same' | 'Renamed' | 'Moved';
|
38
39
|
export declare function deduplicateFolders(listOfFolders: Uri[][]): Uri[];
|
39
40
|
export declare function getRootUri(isCaseSensitive: boolean): Uri | undefined;
|
41
|
+
export declare function encodeUri(fs: ReadOnlyFileSystem, uri: Uri): string;
|