@zzzen/pyright-internal 1.2.0-dev.20231008 → 1.2.0-dev.20231022

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 (145) hide show
  1. package/dist/analyzer/checker.js +33 -37
  2. package/dist/analyzer/checker.js.map +1 -1
  3. package/dist/analyzer/codeFlowEngine.js +2 -2
  4. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  5. package/dist/analyzer/constraintSolver.js +262 -168
  6. package/dist/analyzer/constraintSolver.js.map +1 -1
  7. package/dist/analyzer/constructors.js +3 -4
  8. package/dist/analyzer/constructors.js.map +1 -1
  9. package/dist/analyzer/decorators.js +3 -1
  10. package/dist/analyzer/decorators.js.map +1 -1
  11. package/dist/analyzer/parseTreeUtils.d.ts +1 -1
  12. package/dist/analyzer/patternMatching.js +4 -0
  13. package/dist/analyzer/patternMatching.js.map +1 -1
  14. package/dist/analyzer/program.js +7 -1
  15. package/dist/analyzer/program.js.map +1 -1
  16. package/dist/analyzer/properties.d.ts +2 -2
  17. package/dist/analyzer/properties.js +10 -4
  18. package/dist/analyzer/properties.js.map +1 -1
  19. package/dist/analyzer/protocols.js +119 -174
  20. package/dist/analyzer/protocols.js.map +1 -1
  21. package/dist/analyzer/service.js +13 -13
  22. package/dist/analyzer/service.js.map +1 -1
  23. package/dist/analyzer/sourceFile.d.ts +3 -2
  24. package/dist/analyzer/sourceFile.js +31 -11
  25. package/dist/analyzer/sourceFile.js.map +1 -1
  26. package/dist/analyzer/sourceFileInfo.d.ts +4 -4
  27. package/dist/analyzer/sourceFileInfo.js +2 -0
  28. package/dist/analyzer/sourceFileInfo.js.map +1 -1
  29. package/dist/analyzer/staticExpressions.js +2 -1
  30. package/dist/analyzer/staticExpressions.js.map +1 -1
  31. package/dist/analyzer/typeEvaluator.js +138 -123
  32. package/dist/analyzer/typeEvaluator.js.map +1 -1
  33. package/dist/analyzer/typeEvaluatorTypes.d.ts +4 -3
  34. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  35. package/dist/analyzer/typeGuards.js +101 -33
  36. package/dist/analyzer/typeGuards.js.map +1 -1
  37. package/dist/analyzer/typePrinter.js +4 -1
  38. package/dist/analyzer/typePrinter.js.map +1 -1
  39. package/dist/analyzer/typeUtils.d.ts +13 -2
  40. package/dist/analyzer/typeUtils.js +130 -51
  41. package/dist/analyzer/typeUtils.js.map +1 -1
  42. package/dist/analyzer/typeVarContext.d.ts +4 -1
  43. package/dist/analyzer/typeVarContext.js +7 -2
  44. package/dist/analyzer/typeVarContext.js.map +1 -1
  45. package/dist/analyzer/typedDicts.js +99 -27
  46. package/dist/analyzer/typedDicts.js.map +1 -1
  47. package/dist/analyzer/types.d.ts +6 -2
  48. package/dist/analyzer/types.js +49 -17
  49. package/dist/analyzer/types.js.map +1 -1
  50. package/dist/backgroundThreadBase.js +5 -1
  51. package/dist/backgroundThreadBase.js.map +1 -1
  52. package/dist/common/configOptions.d.ts +2 -1
  53. package/dist/common/configOptions.js +9 -5
  54. package/dist/common/configOptions.js.map +1 -1
  55. package/dist/common/extensibility.d.ts +0 -2
  56. package/dist/common/extensibility.js.map +1 -1
  57. package/dist/common/fileSystem.d.ts +9 -4
  58. package/dist/common/fileSystem.js +8 -1
  59. package/dist/common/fileSystem.js.map +1 -1
  60. package/dist/common/pathUtils.d.ts +8 -5
  61. package/dist/common/pathUtils.js +90 -33
  62. package/dist/common/pathUtils.js.map +1 -1
  63. package/dist/common/realFileSystem.d.ts +7 -1
  64. package/dist/common/realFileSystem.js +35 -22
  65. package/dist/common/realFileSystem.js.map +1 -1
  66. package/dist/common/serviceProviderExtensions.d.ts +3 -4
  67. package/dist/common/serviceProviderExtensions.js +3 -6
  68. package/dist/common/serviceProviderExtensions.js.map +1 -1
  69. package/dist/common/uriParser.d.ts +10 -1
  70. package/dist/common/uriParser.js.map +1 -1
  71. package/dist/languageServerBase.d.ts +4 -4
  72. package/dist/languageServerBase.js +3 -17
  73. package/dist/languageServerBase.js.map +1 -1
  74. package/dist/languageService/autoImporter.d.ts +1 -1
  75. package/dist/languageService/completionProvider.d.ts +2 -2
  76. package/dist/languageService/completionProvider.js +20 -23
  77. package/dist/languageService/completionProvider.js.map +1 -1
  78. package/dist/languageService/hoverProvider.d.ts +6 -2
  79. package/dist/languageService/hoverProvider.js +33 -65
  80. package/dist/languageService/hoverProvider.js.map +1 -1
  81. package/dist/languageService/navigationUtils.d.ts +1 -1
  82. package/dist/languageService/navigationUtils.js +2 -2
  83. package/dist/languageService/navigationUtils.js.map +1 -1
  84. package/dist/languageService/referencesProvider.d.ts +9 -2
  85. package/dist/languageService/referencesProvider.js +19 -12
  86. package/dist/languageService/referencesProvider.js.map +1 -1
  87. package/dist/languageService/tooltipUtils.js +1 -3
  88. package/dist/languageService/tooltipUtils.js.map +1 -1
  89. package/dist/localization/localize.d.ts +4 -3
  90. package/dist/localization/localize.js +1 -1
  91. package/dist/localization/localize.js.map +1 -1
  92. package/dist/localization/package.nls.cs.json +7 -1
  93. package/dist/localization/package.nls.de.json +7 -1
  94. package/dist/localization/package.nls.en-us.json +1 -1
  95. package/dist/localization/package.nls.es.json +7 -1
  96. package/dist/localization/package.nls.fr.json +7 -1
  97. package/dist/localization/package.nls.it.json +7 -1
  98. package/dist/localization/package.nls.ja.json +7 -1
  99. package/dist/localization/package.nls.ko.json +7 -1
  100. package/dist/localization/package.nls.pl.json +7 -1
  101. package/dist/localization/package.nls.pt-br.json +7 -1
  102. package/dist/localization/package.nls.qps-ploc.json +7 -1
  103. package/dist/localization/package.nls.ru.json +7 -1
  104. package/dist/localization/package.nls.tr.json +7 -1
  105. package/dist/localization/package.nls.zh-cn.json +7 -1
  106. package/dist/localization/package.nls.zh-tw.json +7 -1
  107. package/dist/pyright.js +2 -1
  108. package/dist/pyright.js.map +1 -1
  109. package/dist/pyrightFileSystem.d.ts +1 -16
  110. package/dist/pyrightFileSystem.js +1 -60
  111. package/dist/pyrightFileSystem.js.map +1 -1
  112. package/dist/readonlyAugmentedFileSystem.d.ts +1 -4
  113. package/dist/readonlyAugmentedFileSystem.js +0 -10
  114. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  115. package/dist/server.js +2 -1
  116. package/dist/server.js.map +1 -1
  117. package/dist/tests/config.test.js +5 -3
  118. package/dist/tests/config.test.js.map +1 -1
  119. package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.js +56 -10
  120. package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.js.map +1 -1
  121. package/dist/tests/harness/fourslash/testState.d.ts +5 -2
  122. package/dist/tests/harness/fourslash/testState.js +13 -14
  123. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  124. package/dist/tests/harness/vfs/filesystem.d.ts +2 -2
  125. package/dist/tests/harness/vfs/filesystem.js +4 -0
  126. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  127. package/dist/tests/harness/vfs/pathValidation.js +10 -1
  128. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  129. package/dist/tests/importResolver.test.js +0 -9
  130. package/dist/tests/importResolver.test.js.map +1 -1
  131. package/dist/tests/pathUtils.test.js +2 -2
  132. package/dist/tests/pathUtils.test.js.map +1 -1
  133. package/dist/tests/pyrightFileSystem.test.js +0 -20
  134. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  135. package/dist/tests/typeEvaluator1.test.js +4 -0
  136. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  137. package/dist/tests/typeEvaluator2.test.js +14 -2
  138. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  139. package/dist/tests/typeEvaluator3.test.js +5 -1
  140. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  141. package/dist/tests/typeEvaluator4.test.js +10 -2
  142. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  143. package/dist/tests/typeEvaluator5.test.js +7 -1
  144. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  145. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"extensibility.js","sourceRoot":"","sources":["../../../src/common/extensibility.ts"],"names":[],"mappings":";AAAA;;;;;;EAME;;;AAkIF,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,2DAAM,CAAA;IACN,mEAAU,CAAA;AACd,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B"}
1
+ {"version":3,"file":"extensibility.js","sourceRoot":"","sources":["../../../src/common/extensibility.ts"],"names":[],"mappings":";AAAA;;;;;;EAME;;;AAgIF,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IACxB,2DAAM,CAAA;IACN,mEAAU,CAAA;AACd,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B"}
@@ -16,10 +16,6 @@ export interface Stats {
16
16
  export interface MkDirOptions {
17
17
  recursive: boolean;
18
18
  }
19
- export interface TmpfileOptions {
20
- postfix?: string;
21
- prefix?: string;
22
- }
23
19
  export interface ReadOnlyFileSystem {
24
20
  existsSync(path: string): boolean;
25
21
  chdir(path: string): void;
@@ -49,6 +45,12 @@ export interface FileSystem extends ReadOnlyFileSystem {
49
45
  createReadStream(path: string): fs.ReadStream;
50
46
  createWriteStream(path: string): fs.WriteStream;
51
47
  copyFileSync(src: string, dst: string): void;
48
+ }
49
+ export interface TmpfileOptions {
50
+ postfix?: string;
51
+ prefix?: string;
52
+ }
53
+ export interface TempFile {
52
54
  tmpdir(): string;
53
55
  tmpfile(options?: TmpfileOptions): string;
54
56
  dispose(): void;
@@ -56,6 +58,9 @@ export interface FileSystem extends ReadOnlyFileSystem {
56
58
  export declare namespace FileSystem {
57
59
  function is(value: any): value is FileSystem;
58
60
  }
61
+ export declare namespace TempFile {
62
+ function is(value: any): value is TempFile;
63
+ }
59
64
  export declare class VirtualDirent implements fs.Dirent {
60
65
  name: string;
61
66
  private _file;
@@ -9,7 +9,7 @@
9
9
  * for testing.
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.VirtualDirent = exports.FileSystem = void 0;
12
+ exports.VirtualDirent = exports.TempFile = exports.FileSystem = void 0;
13
13
  var FileSystem;
14
14
  (function (FileSystem) {
15
15
  function is(value) {
@@ -17,6 +17,13 @@ var FileSystem;
17
17
  }
18
18
  FileSystem.is = is;
19
19
  })(FileSystem = exports.FileSystem || (exports.FileSystem = {}));
20
+ var TempFile;
21
+ (function (TempFile) {
22
+ function is(value) {
23
+ return value.tmpdir && value.tmpfile && value.dispose;
24
+ }
25
+ TempFile.is = is;
26
+ })(TempFile = exports.TempFile || (exports.TempFile = {}));
20
27
  class VirtualDirent {
21
28
  constructor(name, _file) {
22
29
  this.name = name;
@@ -1 +1 @@
1
- {"version":3,"file":"fileSystem.js","sourceRoot":"","sources":["../../../src/common/fileSystem.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAiFH,IAAiB,UAAU,CAI1B;AAJD,WAAiB,UAAU;IACvB,SAAgB,EAAE,CAAC,KAAU;QACzB,OAAO,KAAK,CAAC,uBAAuB,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,YAAY,CAAC;IACpH,CAAC;IAFe,aAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAI1B;AAED,MAAa,aAAa;IACtB,YAAmB,IAAY,EAAU,KAAc;QAApC,SAAI,GAAJ,IAAI,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAS;IAAG,CAAC;IAE3D,MAAM;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,WAAW;QACP,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IACvB,CAAC;IAED,aAAa;QACT,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,iBAAiB;QACb,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,cAAc;QACV,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM;QACF,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,QAAQ;QACJ,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA9BD,sCA8BC"}
1
+ {"version":3,"file":"fileSystem.js","sourceRoot":"","sources":["../../../src/common/fileSystem.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAmFH,IAAiB,UAAU,CAI1B;AAJD,WAAiB,UAAU;IACvB,SAAgB,EAAE,CAAC,KAAU;QACzB,OAAO,KAAK,CAAC,uBAAuB,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,YAAY,CAAC;IACpH,CAAC;IAFe,aAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAI1B;AAED,IAAiB,QAAQ,CAIxB;AAJD,WAAiB,QAAQ;IACrB,SAAgB,EAAE,CAAC,KAAU;QACzB,OAAO,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;IAC1D,CAAC;IAFe,WAAE,KAEjB,CAAA;AACL,CAAC,EAJgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAIxB;AAED,MAAa,aAAa;IACtB,YAAmB,IAAY,EAAU,KAAc;QAApC,SAAI,GAAJ,IAAI,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAS;IAAG,CAAC;IAE3D,MAAM;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,WAAW;QACP,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IACvB,CAAC;IAED,aAAa;QACT,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,iBAAiB;QACb,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,cAAc;QACV,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM;QACF,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,QAAQ;QACJ,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA9BD,sCA8BC"}
@@ -1,7 +1,8 @@
1
1
  /// <reference types="node" />
2
2
  import type { Dirent } from 'fs';
3
3
  import { GetCanonicalFileName } from './core';
4
- import { FileSystem, ReadOnlyFileSystem, Stats } from './fileSystem';
4
+ import { FileSystem, ReadOnlyFileSystem, Stats, TempFile } from './fileSystem';
5
+ import { ServiceProvider } from './extensibility';
5
6
  export interface FileSpec {
6
7
  wildcardRoot: string;
7
8
  regExp: RegExp;
@@ -19,10 +20,12 @@ export interface FileSystemEntries {
19
20
  }
20
21
  export declare function forEachAncestorDirectory(directory: string, callback: (directory: string) => string | undefined): string | undefined;
21
22
  export declare function getDirectoryPath(pathString: string): string;
23
+ export declare function isUri(pathString: string): boolean;
22
24
  /**
23
25
  * Returns length of the root part of a path or URL (i.e. length of "/", "x:/", "//server/").
24
26
  */
25
27
  export declare function getRootLength(pathString: string): number;
28
+ export declare function getPathSeparator(pathString: string): string;
26
29
  export declare function getPathComponents(pathString: string): string[];
27
30
  export declare function reducePathComponents(components: readonly string[]): string[];
28
31
  export declare function combinePathComponents(components: string[]): string;
@@ -146,8 +149,8 @@ export declare function getWildcardRegexPattern(rootPath: string, fileSpec: stri
146
149
  export declare function isDirectoryWildcardPatternPresent(fileSpec: string): boolean;
147
150
  export declare function getWildcardRoot(rootPath: string, fileSpec: string): string;
148
151
  export declare function hasPythonExtension(path: string): boolean;
149
- export declare function getFileSpec(fs: FileSystem, rootPath: string, fileSpec: string): FileSpec;
150
- export declare function getRegexEscapedSeparator(): "/" | "\\\\";
152
+ export declare function getFileSpec(sp: ServiceProvider, rootPath: string, fileSpec: string): FileSpec;
153
+ export declare function getRegexEscapedSeparator(pathSep?: string): "/" | "\\\\";
151
154
  /**
152
155
  * Determines whether a path is an absolute disk path (e.g. starts with `/`, or a dos path
153
156
  * like `c:`, `c:\` or `c:/`).
@@ -161,8 +164,8 @@ export declare function convertUriToPath(fs: ReadOnlyFileSystem, uriString: stri
161
164
  export declare function extractPathFromUri(uriString: string): string;
162
165
  export declare function convertPathToUri(fs: ReadOnlyFileSystem, path: string): string;
163
166
  export declare function setTestingMode(underTest: boolean): void;
164
- export declare function isFileSystemCaseSensitive(fs: FileSystem): boolean;
165
- export declare function isFileSystemCaseSensitiveInternal(fs: FileSystem): boolean;
167
+ export declare function isFileSystemCaseSensitive(fs: FileSystem, tmp?: TempFile): boolean;
168
+ export declare function isFileSystemCaseSensitiveInternal(fs: FileSystem, tmp: TempFile): boolean;
166
169
  export declare function getLibraryPathWithoutExtension(libraryFilePath: string): string;
167
170
  export declare function getDirectoryChangeKind(fs: ReadOnlyFileSystem, oldDirectory: string, newDirectory: string): 'Same' | 'Renamed' | 'Moved';
168
171
  export declare function deduplicateFolders(listOfFolders: string[][]): string[];
@@ -27,8 +27,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
27
27
  return result;
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.isFileSystemCaseSensitiveInternal = exports.isFileSystemCaseSensitive = exports.setTestingMode = exports.convertPathToUri = exports.extractPathFromUri = exports.convertUriToPath = exports.isDiskPathRoot = exports.isRootedDiskPath = exports.getRegexEscapedSeparator = exports.getFileSpec = exports.hasPythonExtension = exports.getWildcardRoot = exports.isDirectoryWildcardPatternPresent = exports.getWildcardRegexPattern = exports.getFileSystemEntriesFromDirEntries = exports.getFileSystemEntries = exports.tryRealpath = exports.tryStat = exports.isFile = exports.isDirectory = exports.normalizePath = exports.realCasePath = exports.stripFileExtension = exports.getShortenedFileName = exports.getFileName = exports.getFileExtension = exports.stripTrailingDirectorySeparator = exports.hasTrailingDirectorySeparator = exports.ensureTrailingDirectorySeparator = exports.getRelativePathComponentsFromDirectory = exports.getRelativePathFromDirectory = exports.getBaseFileName = exports.getAnyExtensionFromPath = exports.changeAnyExtension = exports.containsPath = exports.combinePaths = exports.resolvePaths = exports.normalizeSlashes = exports.directoryExists = exports.fileExists = exports.getFileSize = exports.makeDirectories = exports.getRelativePath = exports.combinePathComponents = exports.reducePathComponents = exports.getPathComponents = exports.getRootLength = exports.getDirectoryPath = exports.forEachAncestorDirectory = exports.FileSpec = void 0;
31
- exports.deduplicateFolders = exports.getDirectoryChangeKind = exports.getLibraryPathWithoutExtension = void 0;
30
+ exports.setTestingMode = exports.convertPathToUri = exports.extractPathFromUri = exports.convertUriToPath = exports.isDiskPathRoot = exports.isRootedDiskPath = exports.getRegexEscapedSeparator = exports.getFileSpec = exports.hasPythonExtension = exports.getWildcardRoot = exports.isDirectoryWildcardPatternPresent = exports.getWildcardRegexPattern = exports.getFileSystemEntriesFromDirEntries = exports.getFileSystemEntries = exports.tryRealpath = exports.tryStat = exports.isFile = exports.isDirectory = exports.normalizePath = exports.realCasePath = exports.stripFileExtension = exports.getShortenedFileName = exports.getFileName = exports.getFileExtension = exports.stripTrailingDirectorySeparator = exports.hasTrailingDirectorySeparator = exports.ensureTrailingDirectorySeparator = exports.getRelativePathComponentsFromDirectory = exports.getRelativePathFromDirectory = exports.getBaseFileName = exports.getAnyExtensionFromPath = exports.changeAnyExtension = exports.containsPath = exports.combinePaths = exports.resolvePaths = exports.normalizeSlashes = exports.directoryExists = exports.fileExists = exports.getFileSize = exports.makeDirectories = exports.getRelativePath = exports.combinePathComponents = exports.reducePathComponents = exports.getPathComponents = exports.getPathSeparator = exports.getRootLength = exports.isUri = exports.getDirectoryPath = exports.forEachAncestorDirectory = exports.FileSpec = void 0;
31
+ exports.deduplicateFolders = exports.getDirectoryChangeKind = exports.getLibraryPathWithoutExtension = exports.isFileSystemCaseSensitiveInternal = exports.isFileSystemCaseSensitive = void 0;
32
32
  const path = __importStar(require("path"));
33
33
  const vscode_uri_1 = require("vscode-uri");
34
34
  const collectionUtils_1 = require("./collectionUtils");
@@ -36,6 +36,7 @@ const core_1 = require("./core");
36
36
  const crypto_1 = require("./crypto");
37
37
  const debug = __importStar(require("./debug"));
38
38
  const stringUtils_1 = require("./stringUtils");
39
+ const serviceProviderExtensions_1 = require("./serviceProviderExtensions");
39
40
  let _fsCaseSensitivity = undefined;
40
41
  let _underTest = false;
41
42
  const _includeFileRegex = /\.pyi?$/;
@@ -79,9 +80,16 @@ function forEachAncestorDirectory(directory, callback) {
79
80
  }
80
81
  exports.forEachAncestorDirectory = forEachAncestorDirectory;
81
82
  function getDirectoryPath(pathString) {
83
+ if (isUri(pathString)) {
84
+ return vscode_uri_1.Utils.dirname(vscode_uri_1.URI.parse(pathString).with({ fragment: '' })).toString();
85
+ }
82
86
  return pathString.substr(0, Math.max(getRootLength(pathString), pathString.lastIndexOf(path.sep)));
83
87
  }
84
88
  exports.getDirectoryPath = getDirectoryPath;
89
+ function isUri(pathString) {
90
+ return pathString.indexOf(':') > 1;
91
+ }
92
+ exports.isUri = isUri;
85
93
  /**
86
94
  * Returns length of the root part of a path or URL (i.e. length of "/", "x:/", "//server/").
87
95
  */
@@ -104,14 +112,22 @@ function getRootLength(pathString) {
104
112
  return 2; // DOS: "c:" (but not "c:d")
105
113
  }
106
114
  }
115
+ if (isUri(pathString)) {
116
+ return vscode_uri_1.URI.parse(pathString).scheme.length + 3;
117
+ }
107
118
  return 0;
108
119
  }
109
120
  exports.getRootLength = getRootLength;
121
+ function getPathSeparator(pathString) {
122
+ return isUri(pathString) ? '/' : path.sep;
123
+ }
124
+ exports.getPathSeparator = getPathSeparator;
110
125
  function getPathComponents(pathString) {
111
126
  const normalizedPath = normalizeSlashes(pathString);
112
127
  const rootLength = getRootLength(normalizedPath);
113
128
  const root = normalizedPath.substring(0, rootLength);
114
- const rest = normalizedPath.substring(rootLength).split(path.sep);
129
+ const sep = getPathSeparator(pathString);
130
+ const rest = normalizedPath.substring(rootLength).split(sep);
115
131
  if (rest.length > 0 && !rest[rest.length - 1]) {
116
132
  rest.pop();
117
133
  }
@@ -151,7 +167,8 @@ function combinePathComponents(components) {
151
167
  return '';
152
168
  }
153
169
  const root = components[0] && ensureTrailingDirectorySeparator(components[0]);
154
- return normalizeSlashes(root + components.slice(1).join(path.sep));
170
+ const sep = getPathSeparator(root);
171
+ return normalizeSlashes(root + components.slice(1).join(sep));
155
172
  }
156
173
  exports.combinePathComponents = combinePathComponents;
157
174
  function getRelativePath(dirPath, relativeTo) {
@@ -160,9 +177,10 @@ function getRelativePath(dirPath, relativeTo) {
160
177
  }
161
178
  const pathComponents = getPathComponents(dirPath);
162
179
  const relativeToComponents = getPathComponents(relativeTo);
180
+ const sep = getPathSeparator(dirPath);
163
181
  let relativePath = '.';
164
182
  for (let i = relativeToComponents.length; i < pathComponents.length; i++) {
165
- relativePath += path.sep + pathComponents[i];
183
+ relativePath += sep + pathComponents[i];
166
184
  }
167
185
  return relativePath;
168
186
  }
@@ -201,9 +219,11 @@ function directoryExists(fs, path) {
201
219
  exports.directoryExists = directoryExists;
202
220
  const getInvalidSeparator = (sep) => (sep === '/' ? '\\' : '/');
203
221
  function normalizeSlashes(pathString, sep = path.sep) {
204
- if (pathString.includes(getInvalidSeparator(sep))) {
205
- const separatorRegExp = /[\\/]/g;
206
- return pathString.replace(separatorRegExp, sep);
222
+ if (!isUri(pathString)) {
223
+ if (pathString.includes(getInvalidSeparator(sep))) {
224
+ const separatorRegExp = /[\\/]/g;
225
+ return pathString.replace(separatorRegExp, sep);
226
+ }
207
227
  }
208
228
  return pathString;
209
229
  }
@@ -222,7 +242,7 @@ function resolvePaths(path, ...paths) {
222
242
  return normalizePath((0, collectionUtils_1.some)(paths) ? combinePaths(path, ...paths) : normalizeSlashes(path));
223
243
  }
224
244
  exports.resolvePaths = resolvePaths;
225
- function combinePaths(pathString, ...paths) {
245
+ function combineFilePaths(pathString, ...paths) {
226
246
  if (pathString) {
227
247
  pathString = normalizeSlashes(pathString);
228
248
  }
@@ -240,6 +260,25 @@ function combinePaths(pathString, ...paths) {
240
260
  }
241
261
  return pathString;
242
262
  }
263
+ function combinePaths(pathString, ...paths) {
264
+ if (!isUri(pathString)) {
265
+ // Not a URI, or a URI with a single letter scheme.
266
+ return combineFilePaths(pathString, ...paths);
267
+ }
268
+ // Go through the paths to see if any are rooted. If so, treat as
269
+ // a file path. On linux this might be wrong if a path starts with '/'.
270
+ if ((0, collectionUtils_1.some)(paths, (p) => !!p && getRootLength(p) !== 0)) {
271
+ return combineFilePaths(pathString, ...paths);
272
+ }
273
+ // Otherwise this is a URI
274
+ const nonEmptyPaths = paths.filter((p) => !!p);
275
+ const uri = vscode_uri_1.URI.parse(pathString);
276
+ // Make sure we have a path to append to.
277
+ if (uri.path === '' || uri.path === undefined) {
278
+ nonEmptyPaths.unshift('/');
279
+ }
280
+ return vscode_uri_1.Utils.joinPath(uri.with({ fragment: '' }), ...nonEmptyPaths).toString();
281
+ }
243
282
  exports.combinePaths = combinePaths;
244
283
  function containsPath(parent, child, currentDirectory, ignoreCase) {
245
284
  if (typeof currentDirectory === 'string') {
@@ -301,7 +340,9 @@ function getBaseFileName(pathString, extensions, ignoreCase) {
301
340
  // return the trailing portion of the path starting after the last (non-terminal) directory
302
341
  // separator but not including any trailing directory separator.
303
342
  pathString = stripTrailingDirectorySeparator(pathString);
304
- const name = pathString.slice(Math.max(getRootLength(pathString), pathString.lastIndexOf(path.sep) + 1));
343
+ const name = isUri(pathString)
344
+ ? vscode_uri_1.Utils.basename(vscode_uri_1.URI.parse(pathString))
345
+ : pathString.slice(Math.max(getRootLength(pathString), pathString.lastIndexOf(path.sep) + 1));
305
346
  const extension = extensions !== undefined && ignoreCase !== undefined
306
347
  ? getAnyExtensionFromPath(name, extensions, ignoreCase)
307
348
  : undefined;
@@ -322,8 +363,9 @@ function getRelativePathComponentsFromDirectory(fromDirectory, to, getCanonicalF
322
363
  }
323
364
  exports.getRelativePathComponentsFromDirectory = getRelativePathComponentsFromDirectory;
324
365
  function ensureTrailingDirectorySeparator(pathString) {
366
+ const sep = getPathSeparator(pathString);
325
367
  if (!hasTrailingDirectorySeparator(pathString)) {
326
- return pathString + path.sep;
368
+ return pathString + sep;
327
369
  }
328
370
  return pathString;
329
371
  }
@@ -371,11 +413,15 @@ function stripFileExtension(fileName, multiDotExtension = false) {
371
413
  }
372
414
  exports.stripFileExtension = stripFileExtension;
373
415
  function realCasePath(pathString, fileSystem) {
374
- return fileSystem.realCasePath(pathString);
416
+ return isUri(pathString) ? pathString : fileSystem.realCasePath(pathString);
375
417
  }
376
418
  exports.realCasePath = realCasePath;
377
419
  function normalizePath(pathString) {
378
- return normalizeSlashes(path.normalize(pathString));
420
+ if (!isUri(pathString)) {
421
+ return normalizeSlashes(path.normalize(pathString));
422
+ }
423
+ // Must be a URI, already normalized.
424
+ return pathString;
379
425
  }
380
426
  exports.normalizePath = normalizePath;
381
427
  function isDirectory(fs, path) {
@@ -475,7 +521,7 @@ function getWildcardRegexPattern(rootPath, fileSpec) {
475
521
  absolutePath = ensureTrailingDirectorySeparator(absolutePath);
476
522
  }
477
523
  const pathComponents = getPathComponents(absolutePath);
478
- const escapedSeparator = getRegexEscapedSeparator();
524
+ const escapedSeparator = getRegexEscapedSeparator(getPathSeparator(rootPath));
479
525
  const doubleAsteriskRegexFragment = `(${escapedSeparator}[^${escapedSeparator}][^${escapedSeparator}]*)*?`;
480
526
  const reservedCharacterPattern = new RegExp(`[^\\w\\s${escapedSeparator}]`, 'g');
481
527
  // Strip the directory separator from the root component.
@@ -532,12 +578,13 @@ function getWildcardRoot(rootPath, fileSpec) {
532
578
  absolutePath = ensureTrailingDirectorySeparator(absolutePath);
533
579
  }
534
580
  const pathComponents = getPathComponents(absolutePath);
581
+ const sep = getPathSeparator(absolutePath);
535
582
  // Strip the directory separator from the root component.
536
583
  if (pathComponents.length > 0) {
537
584
  pathComponents[0] = stripTrailingDirectorySeparator(pathComponents[0]);
538
585
  }
539
586
  if (pathComponents.length === 1 && !pathComponents[0]) {
540
- return path.sep;
587
+ return sep;
541
588
  }
542
589
  let wildcardRoot = '';
543
590
  let firstComponent = true;
@@ -550,7 +597,7 @@ function getWildcardRoot(rootPath, fileSpec) {
550
597
  break;
551
598
  }
552
599
  if (!firstComponent) {
553
- component = path.sep + component;
600
+ component = sep + component;
554
601
  }
555
602
  wildcardRoot += component;
556
603
  firstComponent = false;
@@ -563,11 +610,13 @@ function hasPythonExtension(path) {
563
610
  return path.endsWith('.py') || path.endsWith('.pyi');
564
611
  }
565
612
  exports.hasPythonExtension = hasPythonExtension;
566
- function getFileSpec(fs, rootPath, fileSpec) {
613
+ function getFileSpec(sp, rootPath, fileSpec) {
567
614
  let regExPattern = getWildcardRegexPattern(rootPath, fileSpec);
568
- const escapedSeparator = getRegexEscapedSeparator();
615
+ const escapedSeparator = getRegexEscapedSeparator(getPathSeparator(rootPath));
569
616
  regExPattern = `^(${regExPattern})($|${escapedSeparator})`;
570
- const regExp = new RegExp(regExPattern, isFileSystemCaseSensitive(fs) ? undefined : 'i');
617
+ const fs = sp.get(serviceProviderExtensions_1.ServiceKeys.fs);
618
+ const tmp = sp.tryGet(serviceProviderExtensions_1.ServiceKeys.tempFile);
619
+ const regExp = new RegExp(regExPattern, isFileSystemCaseSensitive(fs, tmp) ? undefined : 'i');
571
620
  const wildcardRoot = getWildcardRoot(rootPath, fileSpec);
572
621
  const hasDirectoryWildcard = isDirectoryWildcardPatternPresent(fileSpec);
573
622
  return {
@@ -577,9 +626,9 @@ function getFileSpec(fs, rootPath, fileSpec) {
577
626
  };
578
627
  }
579
628
  exports.getFileSpec = getFileSpec;
580
- function getRegexEscapedSeparator() {
629
+ function getRegexEscapedSeparator(pathSep = path.sep) {
581
630
  // we don't need to escape "/" in typescript regular expression
582
- return path.sep === '/' ? '/' : '\\\\';
631
+ return pathSep === '/' ? '/' : '\\\\';
583
632
  }
584
633
  exports.getRegexEscapedSeparator = getRegexEscapedSeparator;
585
634
  /**
@@ -671,14 +720,19 @@ function convertUriToPath(fs, uriString) {
671
720
  exports.convertUriToPath = convertUriToPath;
672
721
  function extractPathFromUri(uriString) {
673
722
  const uri = vscode_uri_1.URI.parse(uriString);
674
- // When schema is "file", we use fsPath so that we can handle things like UNC paths.
675
- let convertedPath = normalizePath(uri.scheme === 'file' ? uri.fsPath : uri.path);
676
- // If this is a DOS-style path with a drive letter, remove
677
- // the leading slash.
678
- if (convertedPath.match(/^\\[a-zA-Z]:\\/)) {
679
- convertedPath = convertedPath.slice(1);
723
+ // Only for file scheme do we actually modify anything. All other uri strings
724
+ // maintain the same value they started with.
725
+ if (uri.scheme === 'file' && !uri.fragment) {
726
+ // When schema is "file", we use fsPath so that we can handle things like UNC paths.
727
+ let convertedPath = normalizePath(uri.fsPath);
728
+ // If this is a DOS-style path with a drive letter, remove
729
+ // the leading slash.
730
+ if (convertedPath.match(/^\\[a-zA-Z]:\\/)) {
731
+ convertedPath = convertedPath.slice(1);
732
+ }
733
+ return convertedPath;
680
734
  }
681
- return convertedPath;
735
+ return uriString;
682
736
  }
683
737
  exports.extractPathFromUri = extractPathFromUri;
684
738
  function convertPathToUri(fs, path) {
@@ -690,18 +744,21 @@ function setTestingMode(underTest) {
690
744
  }
691
745
  exports.setTestingMode = setTestingMode;
692
746
  const isFileSystemCaseSensitiveMap = new WeakMap();
693
- function isFileSystemCaseSensitive(fs) {
747
+ function isFileSystemCaseSensitive(fs, tmp) {
748
+ if (!tmp) {
749
+ return false;
750
+ }
694
751
  if (!_underTest && _fsCaseSensitivity !== undefined) {
695
752
  return _fsCaseSensitivity;
696
753
  }
697
754
  if (!isFileSystemCaseSensitiveMap.has(fs)) {
698
- _fsCaseSensitivity = isFileSystemCaseSensitiveInternal(fs);
755
+ _fsCaseSensitivity = isFileSystemCaseSensitiveInternal(fs, tmp);
699
756
  isFileSystemCaseSensitiveMap.set(fs, _fsCaseSensitivity);
700
757
  }
701
758
  return !!isFileSystemCaseSensitiveMap.get(fs);
702
759
  }
703
760
  exports.isFileSystemCaseSensitive = isFileSystemCaseSensitive;
704
- function isFileSystemCaseSensitiveInternal(fs) {
761
+ function isFileSystemCaseSensitiveInternal(fs, tmp) {
705
762
  let filePath = undefined;
706
763
  try {
707
764
  // Make unique file name.
@@ -709,8 +766,8 @@ function isFileSystemCaseSensitiveInternal(fs) {
709
766
  let mangledFilePath;
710
767
  do {
711
768
  name = `${(0, crypto_1.randomBytesHex)(21)}-a`;
712
- filePath = path.join(fs.tmpdir(), name);
713
- mangledFilePath = path.join(fs.tmpdir(), name.toUpperCase());
769
+ filePath = path.join(tmp.tmpdir(), name);
770
+ mangledFilePath = path.join(tmp.tmpdir(), name.toUpperCase());
714
771
  } while (fs.existsSync(filePath) || fs.existsSync(mangledFilePath));
715
772
  fs.writeFileSync(filePath, '', 'utf8');
716
773
  // If file exists, then it is insensitive.
@@ -1 +1 @@
1
- {"version":3,"file":"pathUtils.js","sourceRoot":"","sources":["../../../src/common/pathUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pathUtils.js","sourceRoot":"","sources":["../../../src/common/pathUtils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ConsoleInterface } from './console';
2
- import { FileSystem } from './fileSystem';
2
+ import { FileSystem, TempFile, TmpfileOptions } from './fileSystem';
3
3
  import { FileWatcher, FileWatcherEventHandler, FileWatcherEventType, FileWatcherHandler, FileWatcherProvider } from './fileWatcher';
4
4
  export declare function createFromRealFileSystem(console?: ConsoleInterface, fileWatcherProvider?: FileWatcherProvider): FileSystem;
5
5
  export declare class WorkspaceFileWatcherProvider implements FileWatcherProvider, FileWatcherHandler {
@@ -7,3 +7,9 @@ export declare class WorkspaceFileWatcherProvider implements FileWatcherProvider
7
7
  createFileWatcher(workspacePaths: string[], listener: FileWatcherEventHandler): FileWatcher;
8
8
  onFileChange(eventType: FileWatcherEventType, filePath: string): void;
9
9
  }
10
+ export declare class RealTempFile implements TempFile {
11
+ private _tmpdir?;
12
+ tmpdir(): string;
13
+ tmpfile(options?: TmpfileOptions): string;
14
+ dispose(): void;
15
+ }
@@ -24,7 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  return result;
25
25
  };
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.WorkspaceFileWatcherProvider = exports.createFromRealFileSystem = void 0;
27
+ exports.RealTempFile = exports.WorkspaceFileWatcherProvider = exports.createFromRealFileSystem = void 0;
28
28
  const fslib_1 = require("@yarnpkg/fslib");
29
29
  const libzip_1 = require("@yarnpkg/libzip");
30
30
  const fs = __importStar(require("fs"));
@@ -299,16 +299,6 @@ class RealFileSystem {
299
299
  const buffer = await yarnFS.readFilePromise(path);
300
300
  return buffer.toString(encoding);
301
301
  }
302
- tmpdir() {
303
- if (!this._tmpdir) {
304
- this._tmpdir = tmp.dirSync({ prefix: 'pyright' });
305
- }
306
- return this._tmpdir.name;
307
- }
308
- tmpfile(options) {
309
- const f = tmp.fileSync({ dir: this.tmpdir(), discardDescriptor: true, ...options });
310
- return f.name;
311
- }
312
302
  realCasePath(path) {
313
303
  try {
314
304
  // If it doesn't exist in the real FS, then just use this path.
@@ -318,7 +308,13 @@ class RealFileSystem {
318
308
  // If it does exist, skip this for symlinks.
319
309
  const stat = fs.lstatSync(path);
320
310
  if (stat.isSymbolicLink()) {
321
- return path;
311
+ const driveLength = (0, pathUtils_1.getRootLength)(path);
312
+ if (driveLength === 0) {
313
+ return path;
314
+ }
315
+ // `vscode` sometimes uses different casing for drive letter.
316
+ // make sure we normalize at least drive letter for symlink as well.
317
+ return fs.realpathSync.native(path.substring(0, driveLength)) + path.substring(driveLength);
322
318
  }
323
319
  // realpathSync.native will return casing as in OS rather than
324
320
  // trying to preserve casing given.
@@ -345,21 +341,15 @@ class RealFileSystem {
345
341
  return originalFilepath;
346
342
  }
347
343
  getUri(path) {
344
+ // If this is not a file path, just return the original path.
345
+ if ((0, pathUtils_1.isUri)(path)) {
346
+ return path;
347
+ }
348
348
  return vscode_uri_1.URI.file(path).toString();
349
349
  }
350
350
  isInZip(path) {
351
351
  return /[^\\/]\.(?:egg|zip|jar)[\\/]/.test(path) && yarnFS.isZip(path);
352
352
  }
353
- dispose() {
354
- var _a;
355
- try {
356
- (_a = this._tmpdir) === null || _a === void 0 ? void 0 : _a.removeCallback();
357
- this._tmpdir = undefined;
358
- }
359
- catch {
360
- // ignore
361
- }
362
- }
363
353
  }
364
354
  class WorkspaceFileWatcherProvider {
365
355
  constructor() {
@@ -393,4 +383,27 @@ class WorkspaceFileWatcherProvider {
393
383
  }
394
384
  }
395
385
  exports.WorkspaceFileWatcherProvider = WorkspaceFileWatcherProvider;
386
+ class RealTempFile {
387
+ tmpdir() {
388
+ if (!this._tmpdir) {
389
+ this._tmpdir = tmp.dirSync({ prefix: 'pyright' });
390
+ }
391
+ return this._tmpdir.name;
392
+ }
393
+ tmpfile(options) {
394
+ const f = tmp.fileSync({ dir: this.tmpdir(), discardDescriptor: true, ...options });
395
+ return f.name;
396
+ }
397
+ dispose() {
398
+ var _a;
399
+ try {
400
+ (_a = this._tmpdir) === null || _a === void 0 ? void 0 : _a.removeCallback();
401
+ this._tmpdir = undefined;
402
+ }
403
+ catch {
404
+ // ignore
405
+ }
406
+ }
407
+ }
408
+ exports.RealTempFile = RealTempFile;
396
409
  //# sourceMappingURL=realFileSystem.js.map