@zzzen/pyright-internal 1.2.0-dev.20220710 → 1.2.0-dev.20220731
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/analysis.js +1 -1
- package/dist/analyzer/analysis.js.map +1 -1
- package/dist/analyzer/binder.js +14 -0
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +1 -0
- package/dist/analyzer/checker.js +100 -46
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +0 -1
- package/dist/analyzer/codeFlowEngine.js +190 -196
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.d.ts +1 -1
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +5 -3
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.js +13 -4
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/enums.d.ts +13 -0
- package/dist/analyzer/enums.js +207 -0
- package/dist/analyzer/enums.js.map +1 -0
- package/dist/analyzer/importResolver.js +5 -4
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +3 -1
- package/dist/analyzer/importStatementUtils.js +96 -19
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +5 -0
- package/dist/analyzer/parseTreeUtils.js +111 -3
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +3 -3
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/properties.js +1 -1
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/service.d.ts +1 -1
- package/dist/analyzer/service.js +37 -37
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.js +40 -9
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/typeEvaluator.d.ts +1 -1
- package/dist/analyzer/typeEvaluator.js +733 -709
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +18 -16
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeEvaluatorWithTracker.js +9 -7
- package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +2 -0
- package/dist/analyzer/typeGuards.js +43 -15
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +7 -1
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +4 -3
- package/dist/analyzer/typeUtils.js +99 -38
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +1 -0
- package/dist/analyzer/typedDicts.js +24 -3
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +9 -0
- package/dist/analyzer/types.js +99 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +2 -1
- package/dist/backgroundAnalysisBase.js +7 -0
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.js +1 -0
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/commandResult.js +1 -1
- package/dist/commands/commandResult.js.map +1 -1
- package/dist/common/chokidarFileWatcherProvider.d.ts +1 -2
- package/dist/common/chokidarFileWatcherProvider.js +0 -3
- package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +4 -0
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnostic.d.ts +2 -1
- package/dist/common/diagnostic.js +2 -1
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticRules.d.ts +1 -0
- package/dist/common/diagnosticRules.js +1 -0
- package/dist/common/diagnosticRules.js.map +1 -1
- package/dist/common/diagnosticSink.d.ts +3 -0
- package/dist/common/diagnosticSink.js +15 -2
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/editAction.d.ts +6 -0
- package/dist/common/editAction.js +15 -0
- package/dist/common/editAction.js.map +1 -1
- package/dist/common/fileSystem.d.ts +4 -1
- package/dist/common/fileSystem.js +6 -4
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +2 -2
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/textEditUtils.d.ts +22 -2
- package/dist/common/textEditUtils.js +138 -1
- package/dist/common/textEditUtils.js.map +1 -1
- package/dist/common/uriParser.d.ts +2 -0
- package/dist/common/uriParser.js +11 -0
- package/dist/common/uriParser.js.map +1 -1
- package/dist/common/workspaceEditUtils.d.ts +1 -0
- package/dist/common/workspaceEditUtils.js +10 -6
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +17 -16
- package/dist/languageServerBase.js +73 -59
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/codeActionProvider.d.ts +2 -2
- package/dist/languageService/codeActionProvider.js +1 -1
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +15 -11
- package/dist/languageService/completionProvider.js +75 -5
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/renameModuleProvider.d.ts +1 -4
- package/dist/languageService/renameModuleProvider.js +10 -46
- package/dist/languageService/renameModuleProvider.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +1 -3
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/localization/localize.d.ts +13 -0
- package/dist/localization/localize.js +4 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +4 -0
- package/dist/parser/parser.js +9 -1
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +3 -1
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +20 -2
- package/dist/pyrightFileSystem.js +29 -2
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/server.js +4 -4
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +2 -0
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +9 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/fourslash/completions.commitChars.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/completions.commitChars.fourslash.js +59 -0
- package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +1 -0
- package/dist/tests/fourslash/completions.triggers.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/completions.triggers.fourslash.js +29 -0
- package/dist/tests/fourslash/completions.triggers.fourslash.js.map +1 -0
- package/dist/tests/fourslash/fourslash.d.ts +1 -0
- package/dist/tests/fourslash/hover.init.fourslash.js +2 -2
- package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +5 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.js +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +18 -9
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +28 -0
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/renameModuleTestUtils.js +5 -87
- package/dist/tests/renameModuleTestUtils.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.d.ts +8 -0
- package/dist/tests/testStateUtils.js +110 -0
- package/dist/tests/testStateUtils.js.map +1 -0
- package/dist/tests/testUtils.d.ts +2 -1
- package/dist/tests/testUtils.js +9 -6
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +7 -7
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +16 -4
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +9 -1
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +16 -0
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/workspaceMap.d.ts +1 -0
- package/dist/workspaceMap.js +11 -1
- package/dist/workspaceMap.js.map +1 -1
- package/package.json +3 -3
@@ -6,8 +6,35 @@
|
|
6
6
|
*
|
7
7
|
* Language server command execution functionality.
|
8
8
|
*/
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
12
|
+
}) : (function(o, m, k, k2) {
|
13
|
+
if (k2 === undefined) k2 = k;
|
14
|
+
o[k2] = m[k];
|
15
|
+
}));
|
16
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
17
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
18
|
+
}) : function(o, v) {
|
19
|
+
o["default"] = v;
|
20
|
+
});
|
21
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
22
|
+
if (mod && mod.__esModule) return mod;
|
23
|
+
var result = {};
|
24
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
25
|
+
__setModuleDefault(result, mod);
|
26
|
+
return result;
|
27
|
+
};
|
9
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
10
|
-
exports.convertTextEdits = void 0;
|
29
|
+
exports.TextEditTracker = exports.convertTextEdits = void 0;
|
30
|
+
const analyzerNodeInfo_1 = require("../analyzer/analyzerNodeInfo");
|
31
|
+
const importStatementUtils_1 = require("../analyzer/importStatementUtils");
|
32
|
+
const ParseTreeUtils = __importStar(require("../analyzer/parseTreeUtils"));
|
33
|
+
const debug = __importStar(require("../common/debug"));
|
34
|
+
const collectionUtils_1 = require("./collectionUtils");
|
35
|
+
const core_1 = require("./core");
|
36
|
+
const positionUtils_1 = require("./positionUtils");
|
37
|
+
const textRange_1 = require("./textRange");
|
11
38
|
function convertTextEdits(uri, editActions) {
|
12
39
|
if (!editActions) {
|
13
40
|
return {};
|
@@ -26,4 +53,114 @@ function convertTextEdits(uri, editActions) {
|
|
26
53
|
};
|
27
54
|
}
|
28
55
|
exports.convertTextEdits = convertTextEdits;
|
56
|
+
class TextEditTracker {
|
57
|
+
constructor() {
|
58
|
+
this._nodesRemoved = [];
|
59
|
+
this._results = new Map();
|
60
|
+
}
|
61
|
+
addEdits(...edits) {
|
62
|
+
edits.forEach((e) => this.addEdit(e.filePath, e.range, e.replacementText));
|
63
|
+
}
|
64
|
+
addEdit(filePath, range, replacementText) {
|
65
|
+
const edits = (0, collectionUtils_1.getOrAdd)(this._results, filePath, () => []);
|
66
|
+
if (replacementText === '') {
|
67
|
+
// If it is a deletion, merge with overlapping deletion edit if there is any.
|
68
|
+
const deletions = this.getDeletionsForSpan(edits, range);
|
69
|
+
if (deletions.length > 0) {
|
70
|
+
// Delete the existing ones.
|
71
|
+
this.removeEdits(edits, deletions);
|
72
|
+
// Extend range with deleted ones.
|
73
|
+
(0, textRange_1.extendRange)(range, deletions.map((d) => d.range));
|
74
|
+
}
|
75
|
+
}
|
76
|
+
// Don't put duplicated edit. It can happen if code has duplicated module import.
|
77
|
+
// ex) from a import b, b, c
|
78
|
+
// If we need to introduce new "from import" statement for "b", we will add new statement twice.
|
79
|
+
if (edits.some((e) => (0, textRange_1.rangesAreEqual)(e.range, range) && e.replacementText === replacementText)) {
|
80
|
+
return;
|
81
|
+
}
|
82
|
+
edits.push({ filePath, range, replacementText });
|
83
|
+
}
|
84
|
+
getDeletionsForSpan(filePathOrEdit, range) {
|
85
|
+
var _a;
|
86
|
+
if ((0, core_1.isString)(filePathOrEdit)) {
|
87
|
+
filePathOrEdit = (_a = this._results.get(filePathOrEdit)) !== null && _a !== void 0 ? _a : [];
|
88
|
+
}
|
89
|
+
return filePathOrEdit.filter((e) => e.replacementText === '' && (0, textRange_1.doRangesIntersect)(e.range, range));
|
90
|
+
}
|
91
|
+
removeEdits(filePathOrEdit, edits) {
|
92
|
+
var _a;
|
93
|
+
if ((0, core_1.isString)(filePathOrEdit)) {
|
94
|
+
filePathOrEdit = (_a = this._results.get(filePathOrEdit)) !== null && _a !== void 0 ? _a : [];
|
95
|
+
}
|
96
|
+
(0, collectionUtils_1.removeArrayElements)(filePathOrEdit, (f) => edits.findIndex((e) => e === f) >= 0);
|
97
|
+
}
|
98
|
+
removeNodes(...nodes) {
|
99
|
+
this._nodesRemoved.push(...nodes);
|
100
|
+
}
|
101
|
+
getEdits(token) {
|
102
|
+
this._processNodeRemoved(token);
|
103
|
+
const edits = [];
|
104
|
+
this._results.forEach((v) => (0, collectionUtils_1.appendArray)(edits, v));
|
105
|
+
return edits;
|
106
|
+
}
|
107
|
+
_processNodeRemoved(token) {
|
108
|
+
while (this._nodesRemoved.length > 0) {
|
109
|
+
const numberOfNodesBeforeProcessing = this._nodesRemoved.length;
|
110
|
+
const peekNodeToRemove = this._nodesRemoved[this._nodesRemoved.length - 1];
|
111
|
+
this._handleImportNameNode(peekNodeToRemove, token);
|
112
|
+
if (this._nodesRemoved.length === numberOfNodesBeforeProcessing) {
|
113
|
+
// It looks like we don't know how to handle the node,
|
114
|
+
// Please add code to handle the case.
|
115
|
+
debug.assert(`please add handler for ${peekNodeToRemove.node.nodeType}`);
|
116
|
+
// As a default behavior, we will just remove the node
|
117
|
+
this._nodesRemoved.pop();
|
118
|
+
const info = (0, analyzerNodeInfo_1.getFileInfo)(peekNodeToRemove.parseResults.parseTree);
|
119
|
+
this.addEdit(info.filePath, (0, positionUtils_1.convertTextRangeToRange)(peekNodeToRemove.node, info.lines), '');
|
120
|
+
}
|
121
|
+
}
|
122
|
+
}
|
123
|
+
_handleImportNameNode(peekNodeToRemove, token) {
|
124
|
+
const peekNode = peekNodeToRemove.node;
|
125
|
+
if (peekNode.nodeType !== 38 /* Name */) {
|
126
|
+
return false;
|
127
|
+
}
|
128
|
+
const module = peekNodeToRemove.parseResults.parseTree;
|
129
|
+
const info = (0, analyzerNodeInfo_1.getFileInfo)(module);
|
130
|
+
const importNode = (0, importStatementUtils_1.getContainingImportStatement)(ParseTreeUtils.findNodeByOffset(module, peekNode.start), token);
|
131
|
+
if (!importNode) {
|
132
|
+
return false;
|
133
|
+
}
|
134
|
+
const nameNodes = (0, importStatementUtils_1.getAllImportNames)(importNode);
|
135
|
+
// check various different cases
|
136
|
+
// 1. check whether all imported names in the import statement is not used.
|
137
|
+
const nodesRemoved = this._nodesRemoved.filter((nodeToRemove) => nameNodes.some((n) => textRange_1.TextRange.overlapsRange(nodeToRemove.node, n)));
|
138
|
+
if (nameNodes.length === nodesRemoved.length) {
|
139
|
+
this.addEdit(info.filePath, ParseTreeUtils.getFullStatementRange(importNode, peekNodeToRemove.parseResults.tokenizerOutput), '');
|
140
|
+
// Remove nodes that are handled from queue.
|
141
|
+
this._removeNodesHandled(nodesRemoved);
|
142
|
+
return true;
|
143
|
+
}
|
144
|
+
// 2. some of modules in the import statement is used.
|
145
|
+
const indices = [];
|
146
|
+
for (let i = 0; i < nameNodes.length; i++) {
|
147
|
+
const nameNode = nameNodes[i];
|
148
|
+
if (nodesRemoved.some((r) => textRange_1.TextRange.overlapsRange(r.node, nameNode))) {
|
149
|
+
indices.push(i);
|
150
|
+
}
|
151
|
+
}
|
152
|
+
if (indices.length === 0) {
|
153
|
+
// can't find module user wants to remove
|
154
|
+
return false;
|
155
|
+
}
|
156
|
+
const editSpans = (0, importStatementUtils_1.getTextRangeForImportNameDeletion)(nameNodes, ...indices);
|
157
|
+
editSpans.forEach((e) => this.addEdit(info.filePath, (0, positionUtils_1.convertTextRangeToRange)(e, info.lines), ''));
|
158
|
+
this._removeNodesHandled(nodesRemoved);
|
159
|
+
return true;
|
160
|
+
}
|
161
|
+
_removeNodesHandled(nodesRemoved) {
|
162
|
+
(0, collectionUtils_1.removeArrayElements)(this._nodesRemoved, (n) => nodesRemoved.some((r) => r === n));
|
163
|
+
}
|
164
|
+
}
|
165
|
+
exports.TextEditTracker = TextEditTracker;
|
29
166
|
//# sourceMappingURL=textEditUtils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"textEditUtils.js","sourceRoot":"","sources":["../../../src/common/textEditUtils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG
|
1
|
+
{"version":3,"file":"textEditUtils.js","sourceRoot":"","sources":["../../../src/common/textEditUtils.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { Position } from 'vscode-languageserver';
|
2
2
|
import { TextDocumentIdentifier } from 'vscode-languageserver-protocol';
|
3
|
+
import { URI } from 'vscode-uri';
|
3
4
|
import { FileSystem } from './fileSystem';
|
4
5
|
export declare class UriParser {
|
5
6
|
protected readonly _fs: FileSystem;
|
@@ -9,4 +10,5 @@ export declare class UriParser {
|
|
9
10
|
position: Position;
|
10
11
|
};
|
11
12
|
decodeTextDocumentUri(uriString: string): string;
|
13
|
+
isLocal(uri: URI | string | undefined): boolean;
|
12
14
|
}
|
package/dist/common/uriParser.js
CHANGED
@@ -8,6 +8,8 @@
|
|
8
8
|
*/
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
10
10
|
exports.UriParser = void 0;
|
11
|
+
const vscode_uri_1 = require("vscode-uri");
|
12
|
+
const core_1 = require("./core");
|
11
13
|
const pathUtils_1 = require("./pathUtils");
|
12
14
|
class UriParser {
|
13
15
|
constructor(_fs) {
|
@@ -20,6 +22,15 @@ class UriParser {
|
|
20
22
|
decodeTextDocumentUri(uriString) {
|
21
23
|
return (0, pathUtils_1.convertUriToPath)(this._fs, uriString);
|
22
24
|
}
|
25
|
+
isLocal(uri) {
|
26
|
+
if (!uri) {
|
27
|
+
return false;
|
28
|
+
}
|
29
|
+
if ((0, core_1.isString)(uri)) {
|
30
|
+
uri = vscode_uri_1.URI.parse(uri);
|
31
|
+
}
|
32
|
+
return uri.scheme === 'file';
|
33
|
+
}
|
23
34
|
}
|
24
35
|
exports.UriParser = UriParser;
|
25
36
|
//# sourceMappingURL=uriParser.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"uriParser.js","sourceRoot":"","sources":["../../../src/common/uriParser.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;
|
1
|
+
{"version":3,"file":"uriParser.js","sourceRoot":"","sources":["../../../src/common/uriParser.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAIH,2CAAiC;AAEjC,iCAAkC;AAElC,2CAA+C;AAE/C,MAAa,SAAS;IAClB,YAA+B,GAAe;QAAf,QAAG,GAAH,GAAG,CAAY;IAAG,CAAC;IAE3C,0BAA0B,CAAC,YAAoC,EAAE,QAAkB;QACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC9D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAClC,CAAC;IAEM,qBAAqB,CAAC,SAAiB;QAC1C,OAAO,IAAA,4BAAgB,EAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IAEM,OAAO,CAAC,GAA6B;QACxC,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,IAAA,eAAQ,EAAC,GAAG,CAAC,EAAE;YACf,GAAG,GAAG,gBAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACxB;QAED,OAAO,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC;IACjC,CAAC;CACJ;AAvBD,8BAuBC"}
|
@@ -2,6 +2,7 @@ import { ChangeAnnotation, WorkspaceEdit } from 'vscode-languageserver';
|
|
2
2
|
import { FileEditAction, FileEditActions } from '../common/editAction';
|
3
3
|
import { FileSystem } from './fileSystem';
|
4
4
|
export declare function convertWorkspaceEdits(fs: FileSystem, edits: FileEditAction[]): WorkspaceEdit;
|
5
|
+
export declare function AddToWorkspaceEdit(fs: FileSystem, workspaceEdit: WorkspaceEdit, edits: FileEditAction[]): void;
|
5
6
|
export declare function convertWorkspaceDocumentEdits(fs: FileSystem, editActions: FileEditActions, changeAnnotations?: {
|
6
7
|
[id: string]: ChangeAnnotation;
|
7
8
|
}, defaultAnnotationId?: string): WorkspaceEdit;
|
@@ -7,23 +7,27 @@
|
|
7
7
|
* Convert Pyright's FileEditActions to LanguageServer's WorkspaceEdits.
|
8
8
|
*/
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
10
|
-
exports.convertWorkspaceDocumentEdits = exports.convertWorkspaceEdits = void 0;
|
10
|
+
exports.convertWorkspaceDocumentEdits = exports.AddToWorkspaceEdit = exports.convertWorkspaceEdits = void 0;
|
11
11
|
const vscode_languageserver_1 = require("vscode-languageserver");
|
12
12
|
const pathUtils_1 = require("../common/pathUtils");
|
13
13
|
const collectionUtils_1 = require("./collectionUtils");
|
14
14
|
const debug_1 = require("./debug");
|
15
15
|
function convertWorkspaceEdits(fs, edits) {
|
16
|
-
const
|
16
|
+
const workspaceEdit = {
|
17
17
|
changes: {},
|
18
18
|
};
|
19
|
+
AddToWorkspaceEdit(fs, workspaceEdit, edits);
|
20
|
+
return workspaceEdit;
|
21
|
+
}
|
22
|
+
exports.convertWorkspaceEdits = convertWorkspaceEdits;
|
23
|
+
function AddToWorkspaceEdit(fs, workspaceEdit, edits) {
|
19
24
|
edits.forEach((edit) => {
|
20
25
|
const uri = (0, pathUtils_1.convertPathToUri)(fs, edit.filePath);
|
21
|
-
|
22
|
-
|
26
|
+
workspaceEdit.changes[uri] = workspaceEdit.changes[uri] || [];
|
27
|
+
workspaceEdit.changes[uri].push({ range: edit.range, newText: edit.replacementText });
|
23
28
|
});
|
24
|
-
return workspaceEdits;
|
25
29
|
}
|
26
|
-
exports.
|
30
|
+
exports.AddToWorkspaceEdit = AddToWorkspaceEdit;
|
27
31
|
function convertWorkspaceDocumentEdits(fs, editActions, changeAnnotations, defaultAnnotationId = 'default') {
|
28
32
|
const workspaceEdit = {
|
29
33
|
documentChanges: [],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"workspaceEditUtils.js","sourceRoot":"","sources":["../../../src/common/workspaceEditUtils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,iEAO+B;AAG/B,mDAAuD;AACvD,uDAAuD;AACvD,mCAAsC;AAGtC,SAAgB,qBAAqB,CAAC,EAAc,EAAE,KAAuB;IACzE,MAAM,
|
1
|
+
{"version":3,"file":"workspaceEditUtils.js","sourceRoot":"","sources":["../../../src/common/workspaceEditUtils.ts"],"names":[],"mappings":"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"}
|
@@ -16,13 +16,14 @@ import { Deferred } from './common/deferred';
|
|
16
16
|
import { DiagnosticRule } from './common/diagnosticRules';
|
17
17
|
import { FileDiagnostics } from './common/diagnosticSink';
|
18
18
|
import { LanguageServiceExtension } from './common/extensibility';
|
19
|
-
import { FileSystem,
|
19
|
+
import { FileSystem, FileWatcherHandler } from './common/fileSystem';
|
20
20
|
import { Host } from './common/host';
|
21
21
|
import { ProgressReporter } from './common/progressReporter';
|
22
22
|
import { DocumentRange, Position, Range } from './common/textRange';
|
23
23
|
import { UriParser } from './common/uriParser';
|
24
24
|
import { CompletionOptions, CompletionResultsList } from './languageService/completionProvider';
|
25
25
|
import { DefinitionFilter } from './languageService/definitionProvider';
|
26
|
+
import { PyrightFileSystem } from './pyrightFileSystem';
|
26
27
|
import { WorkspaceMap } from './workspaceMap';
|
27
28
|
export interface ServerSettings {
|
28
29
|
venvPath?: string | undefined;
|
@@ -49,6 +50,7 @@ export interface ServerSettings {
|
|
49
50
|
export declare enum WellKnownWorkspaceKinds {
|
50
51
|
Default = "default",
|
51
52
|
Regular = "regular",
|
53
|
+
Limited = "limited",
|
52
54
|
Cloned = "cloned",
|
53
55
|
Test = "test"
|
54
56
|
}
|
@@ -63,6 +65,7 @@ export interface WorkspaceServiceInstance {
|
|
63
65
|
disableWorkspaceSymbol: boolean;
|
64
66
|
isInitialized: Deferred<boolean>;
|
65
67
|
searchPathsToWatch: string[];
|
68
|
+
owns?(filePath: string): boolean;
|
66
69
|
}
|
67
70
|
export interface MessageAction {
|
68
71
|
title: string;
|
@@ -86,7 +89,6 @@ export interface LanguageServerInterface {
|
|
86
89
|
readonly rootPath: string;
|
87
90
|
readonly console: ConsoleInterface;
|
88
91
|
readonly window: WindowInterface;
|
89
|
-
readonly fs: FileSystem;
|
90
92
|
readonly supportAdvancedEdits: boolean;
|
91
93
|
}
|
92
94
|
export interface ServerOptions {
|
@@ -94,15 +96,19 @@ export interface ServerOptions {
|
|
94
96
|
rootDirectory: string;
|
95
97
|
version: string;
|
96
98
|
workspaceMap: WorkspaceMap;
|
97
|
-
fileSystem: FileSystem;
|
98
|
-
fileWatcherProvider: FileWatcherProvider;
|
99
99
|
cancellationProvider: CancellationProvider;
|
100
|
+
fileSystem: FileSystem;
|
101
|
+
fileWatcherHandler: FileWatcherHandler;
|
100
102
|
extension?: LanguageServiceExtension;
|
101
103
|
maxAnalysisTimeInForeground?: MaxAnalysisTime;
|
102
104
|
disableChecker?: boolean;
|
103
105
|
supportedCommands?: string[];
|
104
106
|
supportedCodeActions?: string[];
|
105
107
|
}
|
108
|
+
export interface WorkspaceServices {
|
109
|
+
fs: FileSystem;
|
110
|
+
backgroundAnalysis: BackgroundAnalysisBase | undefined;
|
111
|
+
}
|
106
112
|
interface ClientCapabilities {
|
107
113
|
hasConfigurationCapability: boolean;
|
108
114
|
hasVisualStudioExtensionsCapability: boolean;
|
@@ -116,6 +122,7 @@ interface ClientCapabilities {
|
|
116
122
|
hasGoToDeclarationCapability: boolean;
|
117
123
|
hasDocumentChangeCapability: boolean;
|
118
124
|
hasDocumentAnnotationCapability: boolean;
|
125
|
+
hasCompletionCommitCharCapability: boolean;
|
119
126
|
hoverContentFormat: MarkupKind;
|
120
127
|
completionDocFormat: MarkupKind;
|
121
128
|
completionSupportsSnippet: boolean;
|
@@ -130,7 +137,6 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
|
|
130
137
|
readonly console: ConsoleInterface;
|
131
138
|
protected _defaultClientConfig: any;
|
132
139
|
protected _workspaceMap: WorkspaceMap;
|
133
|
-
protected _fileWatcherProvider: FileWatcherProvider;
|
134
140
|
private _pendingFindAllRefsCancellationSource;
|
135
141
|
private _pendingCommandCancellationSource;
|
136
142
|
private _progressReporter;
|
@@ -138,7 +144,7 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
|
|
138
144
|
private _lastFileWatcherRegistration;
|
139
145
|
rootPath: string;
|
140
146
|
protected client: ClientCapabilities;
|
141
|
-
|
147
|
+
protected _serviceFS: PyrightFileSystem;
|
142
148
|
protected _uriParser: UriParser;
|
143
149
|
constructor(_serverOptions: ServerOptions, _connection: Connection, console: ConsoleInterface, uriParserFactory?: (fs: FileSystem) => UriParser);
|
144
150
|
decodeTextDocumentUri(uriString: string): string;
|
@@ -158,7 +164,7 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
|
|
158
164
|
protected setExtension(extension: any): void;
|
159
165
|
get window(): RemoteWindow;
|
160
166
|
get supportAdvancedEdits(): boolean;
|
161
|
-
createAnalyzerService(name: string, libraryReanalysisTimeProvider?: () => number): AnalyzerService;
|
167
|
+
createAnalyzerService(name: string, services?: WorkspaceServices, libraryReanalysisTimeProvider?: () => number): AnalyzerService;
|
162
168
|
getWorkspaceForFile(filePath: string): Promise<WorkspaceServiceInstance>;
|
163
169
|
reanalyze(): void;
|
164
170
|
restart(): void;
|
@@ -195,15 +201,10 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
|
|
195
201
|
protected resolveWorkspaceCompletionItem(workspace: WorkspaceServiceInstance, filePath: string, item: CompletionItem, token: CancellationToken): void;
|
196
202
|
protected getWorkspaceCompletionsForPosition(workspace: WorkspaceServiceInstance, filePath: string, position: Position, workspacePath: string, options: CompletionOptions, token: CancellationToken): Promise<CompletionResultsList | undefined>;
|
197
203
|
updateSettingsForAllWorkspaces(): void;
|
198
|
-
protected getCompletionOptions(params?: CompletionParams):
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
autoImport: boolean;
|
203
|
-
};
|
204
|
-
protected createWorkspaceServiceInstance(workspace: WorkspaceFolder | undefined, rootPath: string, kind?: string): WorkspaceServiceInstance;
|
205
|
-
protected convertDiagnostics(fileDiagnostics: FileDiagnostics): PublishDiagnosticsParams[];
|
206
|
-
protected onAnalysisCompletedHandler(results: AnalysisResults): void;
|
204
|
+
protected getCompletionOptions(workspace: WorkspaceServiceInstance, params?: CompletionParams): CompletionOptions;
|
205
|
+
protected createWorkspaceServiceInstance(workspace: WorkspaceFolder | undefined, rootPath: string, kind?: string, owns?: (filePath: string) => boolean, services?: WorkspaceServices): WorkspaceServiceInstance;
|
206
|
+
protected convertDiagnostics(fs: FileSystem, fileDiagnostics: FileDiagnostics): PublishDiagnosticsParams[];
|
207
|
+
protected onAnalysisCompletedHandler(fs: FileSystem, results: AnalysisResults): void;
|
207
208
|
updateSettingsForWorkspace(workspace: WorkspaceServiceInstance, serverSettings?: ServerSettings): Promise<void>;
|
208
209
|
updateOptionsAndRestartService(workspace: WorkspaceServiceInstance, serverSettings: ServerSettings, typeStubTargetImportName?: string): void;
|
209
210
|
protected convertLogLevel(logLevelValue?: string): LogLevel;
|