@zzzen/pyright-internal 1.2.0-dev.20250302 → 1.2.0-dev.20250316
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/analyzerNodeInfo.js +0 -3
- package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
- package/dist/analyzer/binder.js +1 -1
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +1 -1
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +1 -1
- package/dist/analyzer/importResolver.js +1 -2
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/operations.js +10 -2
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/service.d.ts +2 -0
- package/dist/analyzer/service.js +15 -3
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +101 -56
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +2 -2
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/common/serviceProviderExtensions.d.ts +2 -2
- package/dist/common/serviceProviderExtensions.js +8 -4
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/languageServerBase.d.ts +7 -3
- package/dist/languageServerBase.js +124 -2
- package/dist/languageServerBase.js.map +1 -1
- package/dist/pyright.js +9 -3
- package/dist/pyright.js.map +1 -1
- package/dist/tests/languageServer.test.js +97 -57
- package/dist/tests/languageServer.test.js.map +1 -1
- package/dist/tests/lsp/customLsp.d.ts +8 -1
- package/dist/tests/lsp/customLsp.js +1 -0
- package/dist/tests/lsp/customLsp.js.map +1 -1
- package/dist/tests/lsp/languageServer.js +12 -0
- package/dist/tests/lsp/languageServer.js.map +1 -1
- package/dist/tests/lsp/languageServerTestUtils.d.ts +7 -3
- package/dist/tests/lsp/languageServerTestUtils.js +90 -6
- package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +1 -1
- package/dist/types.d.ts +6 -2
- package/package.json +1 -1
@@ -19,8 +19,8 @@ const pathUtils_1 = require("../common/pathUtils");
|
|
19
19
|
const languageServerTestUtils_1 = require("./lsp/languageServerTestUtils");
|
20
20
|
describe(`Basic language server tests`, () => {
|
21
21
|
let serverInfo;
|
22
|
-
async function runLanguageServer(projectRoots, code, callInitialize = true, extraSettings, pythonVersion = pythonVersion_1.pythonVersion3_10, supportsBackgroundThread) {
|
23
|
-
const result = await (0, languageServerTestUtils_1.runPyrightServer)(projectRoots, code, callInitialize, extraSettings, pythonVersion, supportsBackgroundThread);
|
22
|
+
async function runLanguageServer(projectRoots, code, callInitialize = true, extraSettings, pythonVersion = pythonVersion_1.pythonVersion3_10, supportsBackgroundThread, supportsPullDiagnostics) {
|
23
|
+
const result = await (0, languageServerTestUtils_1.runPyrightServer)(projectRoots, code, callInitialize, extraSettings, pythonVersion, supportsBackgroundThread, supportsPullDiagnostics);
|
24
24
|
serverInfo = result;
|
25
25
|
return result;
|
26
26
|
}
|
@@ -38,7 +38,7 @@ describe(`Basic language server tests`, () => {
|
|
38
38
|
// @filename: test.py
|
39
39
|
//// # empty file
|
40
40
|
`;
|
41
|
-
|
41
|
+
serverInfo = await runLanguageServer(languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, code, /* callInitialize */ false);
|
42
42
|
const initializeResult = await (0, languageServerTestUtils_1.initializeLanguageServer)(serverInfo);
|
43
43
|
(0, assert_1.default)(initializeResult);
|
44
44
|
(0, assert_1.default)(initializeResult.capabilities.completionProvider?.resolveProvider);
|
@@ -100,72 +100,112 @@ describe(`Basic language server tests`, () => {
|
|
100
100
|
const completionItem = completionResult.items.find((i) => i.label === 'path');
|
101
101
|
(0, assert_1.default)(completionItem);
|
102
102
|
});
|
103
|
-
|
104
|
-
|
103
|
+
[false, true].forEach((supportsPullDiagnostics) => {
|
104
|
+
describe(`Diagnostics ${supportsPullDiagnostics ? 'pull' : 'push'}`, () => {
|
105
|
+
// Background analysis takes longer than 5 seconds sometimes, so we need to
|
106
|
+
// increase the timeout.
|
107
|
+
jest.setTimeout(15000);
|
108
|
+
test('background thread diagnostics', async () => {
|
109
|
+
const code = `
|
105
110
|
// @filename: root/test.py
|
106
111
|
//// from math import cos, sin
|
107
112
|
//// import sys
|
108
113
|
//// [|/*marker*/|]
|
109
114
|
`;
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
115
|
+
const settings = [
|
116
|
+
{
|
117
|
+
item: {
|
118
|
+
scopeUri: `file://${(0, pathUtils_1.normalizeSlashes)(languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, '/')}`,
|
119
|
+
section: 'python.analysis',
|
120
|
+
},
|
121
|
+
value: {
|
122
|
+
typeCheckingMode: 'strict',
|
123
|
+
diagnosticMode: 'workspace',
|
124
|
+
},
|
125
|
+
},
|
126
|
+
];
|
127
|
+
const info = await runLanguageServer(languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, code,
|
128
|
+
/* callInitialize */ true, settings, undefined,
|
129
|
+
/* supportsBackgroundThread */ true, supportsPullDiagnostics);
|
130
|
+
// get the file containing the marker that also contains our task list comments
|
131
|
+
await (0, languageServerTestUtils_1.openFile)(info, 'marker');
|
132
|
+
// Wait for the diagnostics to publish
|
133
|
+
const diagnostics = await (0, languageServerTestUtils_1.waitForDiagnostics)(info);
|
134
|
+
const diagnostic = diagnostics.find((d) => d.uri.includes('root/test.py'));
|
135
|
+
(0, assert_1.default)(diagnostic);
|
136
|
+
assert_1.default.equal(diagnostic.diagnostics.length, 6);
|
137
|
+
// Make sure the error has a special rule
|
138
|
+
assert_1.default.equal(diagnostic.diagnostics[1].code, 'reportUnusedImport');
|
139
|
+
assert_1.default.equal(diagnostic.diagnostics[3].code, 'reportUnusedImport');
|
140
|
+
assert_1.default.equal(diagnostic.diagnostics[5].code, 'reportUnusedImport');
|
141
|
+
});
|
142
|
+
test('background thread diagnostics open mode', async () => {
|
143
|
+
const code = `
|
144
|
+
// @filename: root/test.py
|
145
|
+
//// from math import cos, sin
|
146
|
+
//// import sys
|
147
|
+
//// [|/*marker*/|]
|
148
|
+
`;
|
149
|
+
const settings = [
|
150
|
+
{
|
151
|
+
item: {
|
152
|
+
scopeUri: `file://${(0, pathUtils_1.normalizeSlashes)(languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, '/')}`,
|
153
|
+
section: 'python.analysis',
|
154
|
+
},
|
155
|
+
value: {
|
156
|
+
typeCheckingMode: 'strict',
|
157
|
+
},
|
158
|
+
},
|
159
|
+
];
|
160
|
+
const info = await runLanguageServer(languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, code,
|
161
|
+
/* callInitialize */ true, settings, undefined,
|
162
|
+
/* supportsBackgroundThread */ true, supportsPullDiagnostics);
|
163
|
+
// get the file containing the marker that also contains our task list comments
|
164
|
+
await (0, languageServerTestUtils_1.openFile)(info, 'marker');
|
165
|
+
// Wait for the diagnostics to publish
|
166
|
+
const diagnostics = await (0, languageServerTestUtils_1.waitForDiagnostics)(info);
|
167
|
+
const diagnostic = diagnostics.find((d) => d.uri.includes('root/test.py'));
|
168
|
+
(0, assert_1.default)(diagnostic);
|
169
|
+
assert_1.default.equal(diagnostic.diagnostics.length, 6);
|
170
|
+
// Make sure the error has a special rule
|
171
|
+
assert_1.default.equal(diagnostic.diagnostics[1].code, 'reportUnusedImport');
|
172
|
+
assert_1.default.equal(diagnostic.diagnostics[3].code, 'reportUnusedImport');
|
173
|
+
assert_1.default.equal(diagnostic.diagnostics[5].code, 'reportUnusedImport');
|
174
|
+
});
|
175
|
+
test('Diagnostic severity overrides test', async () => {
|
176
|
+
const code = `
|
139
177
|
// @filename: test.py
|
140
178
|
//// def test([|/*marker*/x|]): ...
|
141
179
|
////
|
142
180
|
// @filename: pyproject.toml
|
143
181
|
////
|
144
182
|
`;
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
183
|
+
const settings = [
|
184
|
+
{
|
185
|
+
item: {
|
186
|
+
scopeUri: `file://${(0, pathUtils_1.normalizeSlashes)(languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, '/')}`,
|
187
|
+
section: 'python.analysis',
|
188
|
+
},
|
189
|
+
value: {
|
190
|
+
diagnosticSeverityOverrides: {
|
191
|
+
reportUnknownParameterType: 'warning',
|
192
|
+
},
|
193
|
+
},
|
154
194
|
},
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
195
|
+
];
|
196
|
+
const info = await runLanguageServer(languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, code,
|
197
|
+
/* callInitialize */ true, settings, undefined,
|
198
|
+
/* supportsBackgroundThread */ true, supportsPullDiagnostics);
|
199
|
+
// get the file containing the marker that also contains our task list comments
|
200
|
+
await (0, languageServerTestUtils_1.openFile)(info, 'marker');
|
201
|
+
// Wait for the diagnostics to publish
|
202
|
+
const diagnostics = await (0, languageServerTestUtils_1.waitForDiagnostics)(info);
|
203
|
+
const diagnostic = diagnostics.find((d) => d.uri.includes('test.py'));
|
204
|
+
(0, assert_1.default)(diagnostic);
|
205
|
+
// Make sure the error has a special rule
|
206
|
+
assert_1.default.equal(diagnostic.diagnostics[0].code, 'reportUnknownParameterType');
|
207
|
+
});
|
208
|
+
});
|
169
209
|
});
|
170
210
|
});
|
171
211
|
//# sourceMappingURL=languageServer.test.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"languageServer.test.js","sourceRoot":"","sources":["../../../../../src/tests/languageServer.test.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAEH,oDAA4B;AAC5B,iEAO+B;AAE/B,2DAAkE;AAClE,2DAA2E;AAE3E,yCAAyC;AACzC,mDAAuD;AACvD,2EAUuC;AAEvC,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACzC,IAAI,UAAyC,CAAC;IAC9C,KAAK,UAAU,iBAAiB,CAC5B,YAA+B,EAC/B,IAAY,EACZ,cAAc,GAAG,IAAI,EACrB,aAAyD,EACzD,gBAA+B,iCAAiB,EAChD,wBAAkC;
|
1
|
+
{"version":3,"file":"languageServer.test.js","sourceRoot":"","sources":["../../../../../src/tests/languageServer.test.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAEH,oDAA4B;AAC5B,iEAO+B;AAE/B,2DAAkE;AAClE,2DAA2E;AAE3E,yCAAyC;AACzC,mDAAuD;AACvD,2EAUuC;AAEvC,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACzC,IAAI,UAAyC,CAAC;IAC9C,KAAK,UAAU,iBAAiB,CAC5B,YAA+B,EAC/B,IAAY,EACZ,cAAc,GAAG,IAAI,EACrB,aAAyD,EACzD,gBAA+B,iCAAiB,EAChD,wBAAkC,EAClC,uBAAiC;QAEjC,MAAM,MAAM,GAAG,MAAM,IAAA,0CAAgB,EACjC,YAAY,EACZ,IAAI,EACJ,cAAc,EACd,aAAa,EACb,aAAa,EACb,wBAAwB,EACxB,uBAAuB,CAC1B,CAAC;QACF,UAAU,GAAG,MAAM,CAAC;QACpB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,SAAS,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;YAC3B,UAAU,GAAG,SAAS,CAAC;QAC3B,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;QAChB,MAAM,IAAA,yCAAe,GAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG;;;SAGZ,CAAC;QACF,UAAU,GAAG,MAAM,iBAAiB,CAAC,gDAAsB,EAAE,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAE/F,MAAM,gBAAgB,GAAG,MAAM,IAAA,kDAAwB,EAAC,UAAU,CAAC,CAAC;QAEpE,IAAA,gBAAM,EAAC,gBAAgB,CAAC,CAAC;QACzB,IAAA,gBAAM,EAAC,gBAAgB,CAAC,YAAY,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,IAAI,GAAG;;;SAGZ,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,gDAAsB,EAAE,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAE/F,mEAAmE;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1C,MAAM,CAAC,YAAY,CAAC,SAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC;QACxD,MAAM,CAAC,YAAY,CAAC,SAAU,CAAC,aAAa,GAAG,KAAK,CAAC;QAErD,gDAAgD;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,yCAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,yCAAiB,CAAC,IAAI,CAAC,CAAC;QACzG,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC;QAEf,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,+CAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEzE,wFAAwF;QACxF,+CAA+C;QAC/C,IAAA,kCAAQ,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzB,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAK,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAA,gBAAM,EAAC,WAAW,CAAC,CAAC;QACpB,IAAA,gBAAM,EAAC,qCAAa,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/C,gBAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACrB,MAAM,IAAI,GAAG;;;SAGZ,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,gDAAsB,EAAE,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAE9F,0BAA0B;QAC1B,IAAA,kCAAQ,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzB,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAK,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAA,gBAAM,EAAC,WAAW,CAAC,CAAC;QACpB,IAAA,gBAAM,EAAC,qCAAa,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/C,gBAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC3B,MAAM,IAAI,GAAG;;;;SAIZ,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,gDAAsB,EAAE,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAE9F,+BAA+B;QAC/B,IAAA,kCAAQ,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAE,CAAC,OAAO,CAAC;QACtF,MAAM,WAAW,GAAG,IAAA,yCAAe,EAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CACtD,yCAAiB,CAAC,IAAI,EACtB;YACI,YAAY,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE;YACzC,QAAQ,EAAE,IAAA,uCAAuB,EAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC;SACxF,EACD,yCAAiB,CAAC,IAAI,CACzB,CAAC;QAEF,IAAA,gBAAM,EAAC,gBAAgB,CAAC,CAAC;QACzB,IAAA,gBAAM,EAAC,CAAC,IAAA,cAAO,EAAC,gBAAgB,CAAC,CAAC,CAAC;QAEnC,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAE,CAAC;QAC/E,IAAA,gBAAM,EAAC,cAAc,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,uBAAuB,EAAE,EAAE;QAC9C,QAAQ,CAAC,eAAe,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE;YACtE,2EAA2E;YAC3E,wBAAwB;YACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;gBAC7C,MAAM,IAAI,GAAG;;;;;SAKpB,CAAC;gBACM,MAAM,QAAQ,GAAG;oBACb;wBACI,IAAI,EAAE;4BACF,QAAQ,EAAE,UAAU,IAAA,4BAAgB,EAAC,gDAAsB,EAAE,GAAG,CAAC,EAAE;4BACnE,OAAO,EAAE,iBAAiB;yBAC7B;wBACD,KAAK,EAAE;4BACH,gBAAgB,EAAE,QAAQ;4BAC1B,cAAc,EAAE,WAAW;yBAC9B;qBACJ;iBACJ,CAAC;gBAEF,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAChC,gDAAsB,EACtB,IAAI;gBACJ,oBAAoB,CAAC,IAAI,EACzB,QAAQ,EACR,SAAS;gBACT,8BAA8B,CAAC,IAAI,EACnC,uBAAuB,CAC1B,CAAC;gBAEF,+EAA+E;gBAC/E,MAAM,IAAA,kCAAQ,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAE/B,sCAAsC;gBACtC,MAAM,WAAW,GAAG,MAAM,IAAA,4CAAkB,EAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC3E,IAAA,gBAAM,EAAC,UAAU,CAAC,CAAC;gBACnB,gBAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAE/C,yCAAyC;gBACzC,gBAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;gBACnE,gBAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;gBACnE,gBAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;gBACvD,MAAM,IAAI,GAAG;;;;;SAKpB,CAAC;gBACM,MAAM,QAAQ,GAAG;oBACb;wBACI,IAAI,EAAE;4BACF,QAAQ,EAAE,UAAU,IAAA,4BAAgB,EAAC,gDAAsB,EAAE,GAAG,CAAC,EAAE;4BACnE,OAAO,EAAE,iBAAiB;yBAC7B;wBACD,KAAK,EAAE;4BACH,gBAAgB,EAAE,QAAQ;yBAC7B;qBACJ;iBACJ,CAAC;gBAEF,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAChC,gDAAsB,EACtB,IAAI;gBACJ,oBAAoB,CAAC,IAAI,EACzB,QAAQ,EACR,SAAS;gBACT,8BAA8B,CAAC,IAAI,EACnC,uBAAuB,CAC1B,CAAC;gBAEF,+EAA+E;gBAC/E,MAAM,IAAA,kCAAQ,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAE/B,sCAAsC;gBACtC,MAAM,WAAW,GAAG,MAAM,IAAA,4CAAkB,EAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC3E,IAAA,gBAAM,EAAC,UAAU,CAAC,CAAC;gBACnB,gBAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAE/C,yCAAyC;gBACzC,gBAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;gBACnE,gBAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;gBACnE,gBAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;gBAClD,MAAM,IAAI,GAAG;;;;;;KAMxB,CAAC;gBACU,MAAM,QAAQ,GAAG;oBACb;wBACI,IAAI,EAAE;4BACF,QAAQ,EAAE,UAAU,IAAA,4BAAgB,EAAC,gDAAsB,EAAE,GAAG,CAAC,EAAE;4BACnE,OAAO,EAAE,iBAAiB;yBAC7B;wBACD,KAAK,EAAE;4BACH,2BAA2B,EAAE;gCACzB,0BAA0B,EAAE,SAAS;6BACxC;yBACJ;qBACJ;iBACJ,CAAC;gBAEF,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAChC,gDAAsB,EACtB,IAAI;gBACJ,oBAAoB,CAAC,IAAI,EACzB,QAAQ,EACR,SAAS;gBACT,8BAA8B,CAAC,IAAI,EACnC,uBAAuB,CAC1B,CAAC;gBAEF,+EAA+E;gBAC/E,MAAM,IAAA,kCAAQ,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAE/B,sCAAsC;gBACtC,MAAM,WAAW,GAAG,MAAM,IAAA,4CAAkB,EAAC,IAAI,CAAC,CAAC;gBACnD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;gBACtE,IAAA,gBAAM,EAAC,UAAU,CAAC,CAAC;gBAEnB,yCAAyC;gBACzC,gBAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
@@ -29,7 +29,8 @@ export declare namespace CustomLSP {
|
|
29
29
|
kind: TestSignalKinds;
|
30
30
|
}
|
31
31
|
export enum Requests {
|
32
|
-
GetDiagnostics = "test/getDiagnostics"
|
32
|
+
GetDiagnostics = "test/getDiagnostics",
|
33
|
+
GetOpenFiles = "test/getOpenFiles"
|
33
34
|
}
|
34
35
|
export enum Notifications {
|
35
36
|
SetStatusBarMessage = "python/setStatusBarMessage",
|
@@ -49,6 +50,9 @@ export declare namespace CustomLSP {
|
|
49
50
|
[Requests.GetDiagnostics]: {
|
50
51
|
uri: string;
|
51
52
|
};
|
53
|
+
[Requests.GetOpenFiles]: {
|
54
|
+
uri: string;
|
55
|
+
};
|
52
56
|
[Notifications.CacheDirCreate]: {
|
53
57
|
uri: string;
|
54
58
|
};
|
@@ -76,6 +80,9 @@ export declare namespace CustomLSP {
|
|
76
80
|
[Requests.GetDiagnostics]: {
|
77
81
|
diagnostics: string;
|
78
82
|
};
|
83
|
+
[Requests.GetOpenFiles]: {
|
84
|
+
files: string;
|
85
|
+
};
|
79
86
|
}
|
80
87
|
export interface IFileSpec {
|
81
88
|
wildcardRoot: Uri;
|
@@ -20,6 +20,7 @@ var CustomLSP;
|
|
20
20
|
let Requests;
|
21
21
|
(function (Requests) {
|
22
22
|
Requests["GetDiagnostics"] = "test/getDiagnostics";
|
23
|
+
Requests["GetOpenFiles"] = "test/getOpenFiles";
|
23
24
|
})(Requests = CustomLSP.Requests || (CustomLSP.Requests = {}));
|
24
25
|
let Notifications;
|
25
26
|
(function (Notifications) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"customLsp.js","sourceRoot":"","sources":["../../../../../../src/tests/lsp/customLsp.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAoCH,+CAA+C;AAC/C,IAAiB,SAAS,
|
1
|
+
{"version":3,"file":"customLsp.js","sourceRoot":"","sources":["../../../../../../src/tests/lsp/customLsp.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAoCH,+CAA+C;AAC/C,IAAiB,SAAS,CAiIzB;AAjID,WAAiB,SAAS;IACtB,IAAY,eAIX;IAJD,WAAY,eAAe;QACvB,oDAAiC,CAAA;QACjC,sDAAmC,CAAA;QACnC,0DAAuC,CAAA;IAC3C,CAAC,EAJW,eAAe,GAAf,yBAAe,KAAf,yBAAe,QAI1B;IAOD,IAAY,QAGX;IAHD,WAAY,QAAQ;QAChB,kDAAsC,CAAA;QACtC,8CAAkC,CAAA;IACtC,CAAC,EAHW,QAAQ,GAAR,kBAAQ,KAAR,kBAAQ,QAGnB;IAED,IAAY,aAyBX;IAzBD,WAAY,aAAa;QACrB,mEAAkD,CAAA;QAClD,uDAAsC,CAAA;QACtC,yDAAwC,CAAA;QACxC,mDAAkC,CAAA;QAClC,6DAA4C,CAAA;QAC5C,2CAA0B,CAAA;QAE1B,kEAAkE;QAClE,qEAAqE;QACrE,0EAA0E;QAC1E,gFAAgF;QAChF,6EAA6E;QAC7E,+DAA+D;QAC/D,EAAE;QACF,+EAA+E;QAC/E,gCAAgC;QAChC,4EAA2D,CAAA;QAC3D,yEAAwD,CAAA;QACxD,yDAAwC,CAAA;QACxC,yDAAwC,CAAA;QACxC,kEAAkE;QAClE,oCAAoC;QACpC,qDAAoC,CAAA;QACpC,qEAAoD,CAAA;IACxD,CAAC,EAzBW,aAAa,GAAb,uBAAa,KAAb,uBAAa,QAyBxB;IAuDD,SAAgB,WAAW,CACvB,UAAyB,EACzB,MAAS,EACT,MAAY,EACZ,KAAyB;QAEzB,OAAO,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;IAPe,qBAAW,cAO1B,CAAA;IAED,SAAgB,gBAAgB,CAC5B,UAA8B,EAC9B,MAAS,EACT,MAAY;QAEZ,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;IANe,0BAAgB,mBAM/B,CAAA;IAED,SAAgB,SAAS,CACrB,UAA2B,EAC3B,MAAS,EACT,OAAsC;QAEtC,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IANe,mBAAS,YAMxB,CAAA;IAED,SAAgB,cAAc,CAC1B,UAAgC,EAChC,MAAS,EACT,OAAkC;QAElC,OAAO,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IANe,wBAAc,iBAM7B,CAAA;AACL,CAAC,EAjIgB,SAAS,yBAAT,SAAS,QAiIzB"}
|
@@ -162,6 +162,10 @@ async function runServer(testServerData, reader, writer, connectionFactory) {
|
|
162
162
|
const file = workspace.service.test_program.getBoundSourceFile(filePath);
|
163
163
|
const diagnostics = file?.getDiagnostics(workspace.service.test_program.configOptions) || [];
|
164
164
|
return { diagnostics: (0, backgroundThreadBase_1.serialize)(diagnostics) };
|
165
|
+
}), customLsp_1.CustomLSP.onRequest(connection, customLsp_1.CustomLSP.Requests.GetOpenFiles, async (params) => {
|
166
|
+
const workspace = await server.getWorkspaceForFile(uri_1.Uri.parse(params.uri, server.serviceProvider));
|
167
|
+
const files = (0, backgroundThreadBase_1.serialize)(workspace.service.test_program.getOpened().map((f) => f.sourceFile.getUri()));
|
168
|
+
return { files: files };
|
165
169
|
}));
|
166
170
|
// Dispose the server and connection when terminating the server.
|
167
171
|
disposables.push(server);
|
@@ -338,4 +342,12 @@ async function run() {
|
|
338
342
|
stateManager.run();
|
339
343
|
}
|
340
344
|
}
|
345
|
+
process.on('uncaughtException', (err) => {
|
346
|
+
console.error('Uncaught exception in worker:', err);
|
347
|
+
process.exit(10); // Exit the worker process
|
348
|
+
});
|
349
|
+
process.on('unhandledRejection', (reason, promise) => {
|
350
|
+
console.error('Unhandled rejection in worker:', reason);
|
351
|
+
process.exit(11); // Exit the worker process
|
352
|
+
});
|
341
353
|
//# sourceMappingURL=languageServer.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"languageServer.js","sourceRoot":"","sources":["../../../../../../src/tests/lsp/languageServer.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"languageServer.js","sourceRoot":"","sources":["../../../../../../src/tests/lsp/languageServer.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ApplyWorkspaceEditParams, CancellationToken, ConfigurationItem, Disposable, InitializeParams, LogMessageParams, PublishDiagnosticsParams, Registration } from 'vscode-languageserver-protocol';
|
1
|
+
import { ApplyWorkspaceEditParams, CancellationToken, ConfigurationItem, Disposable, DocumentDiagnosticReport, InitializeParams, LogMessageParams, PublishDiagnosticsParams, Registration, WorkspaceDiagnosticReport } from 'vscode-languageserver-protocol';
|
2
2
|
import { Connection, Event, NotificationHandler, ProgressToken, ProgressType, ProtocolNotificationType } from 'vscode-languageserver/node';
|
3
3
|
import { PythonPathResult } from '../../analyzer/pythonPathUtils';
|
4
4
|
import { IPythonMode } from '../../analyzer/sourceFile';
|
@@ -29,6 +29,7 @@ export interface PyrightServerInfo {
|
|
29
29
|
progressReporterStatus: Map<string, number>;
|
30
30
|
progressParts: Map<string, TestProgressPart>;
|
31
31
|
telemetry: any[];
|
32
|
+
supportsPullDiagnostics: boolean;
|
32
33
|
diagnostics: PublishDiagnosticsParams[];
|
33
34
|
diagnosticsEvent: Event<PublishDiagnosticsParams>;
|
34
35
|
workspaceEdits: ApplyWorkspaceEditParams[];
|
@@ -62,6 +63,9 @@ export declare function updateSettingsMap(info: PyrightServerInfo, settings: {
|
|
62
63
|
value: any;
|
63
64
|
}[]): void;
|
64
65
|
export declare function getParseResults(fileContents: string, isStubFile?: boolean, ipythonMode?: IPythonMode): import("../../parser/parser").ParseFileResults;
|
66
|
+
export declare function getOpenFiles(info: PyrightServerInfo, projectRoot?: Uri): Promise<Uri[]>;
|
67
|
+
export declare function waitForEvent<T>(event: Event<T>, name: string, condition: (p: T) => boolean, timeout?: number): Promise<void>;
|
68
|
+
export declare function convertDiagnosticReport(uri: string | undefined, report: DocumentDiagnosticReport | WorkspaceDiagnosticReport): PublishDiagnosticsParams[];
|
65
69
|
export declare function waitForDiagnostics(info: PyrightServerInfo, timeout?: number): Promise<PublishDiagnosticsParams[]>;
|
66
70
|
interface ProgressPart {
|
67
71
|
}
|
@@ -78,12 +82,12 @@ declare class TestProgressPart implements ProgressPart {
|
|
78
82
|
export declare function runPyrightServer(projectRoots: string[] | string, code: string, callInitialize?: boolean, extraSettings?: {
|
79
83
|
item: ConfigurationItem;
|
80
84
|
value: any;
|
81
|
-
}[], pythonVersion?: PythonVersion, backgroundAnalysis?: boolean): Promise<PyrightServerInfo>;
|
85
|
+
}[], pythonVersion?: PythonVersion, backgroundAnalysis?: boolean, supportPullDiagnostics?: boolean): Promise<PyrightServerInfo>;
|
82
86
|
export declare function initializeLanguageServer(info: PyrightServerInfo): Promise<import("vscode-languageserver-protocol").InitializeResult<any>>;
|
83
87
|
export declare function sleep(timeout: number): Promise<number>;
|
84
88
|
export declare function openFile(info: PyrightServerInfo, markerName: string, text?: string): void;
|
85
89
|
export declare function hover(info: PyrightServerInfo, markerName: string): Promise<import("vscode-languageserver-types").Hover | null>;
|
86
|
-
export declare function getInitializeParams(projectRoots: Uri[]): InitializeParams;
|
90
|
+
export declare function getInitializeParams(projectRoots: Uri[], supportsPullDiagnostics: boolean, diagnosticMode?: string | undefined): InitializeParams;
|
87
91
|
export declare class TestHost extends LimitedAccessHost {
|
88
92
|
readonly fs: FileSystem;
|
89
93
|
readonly testFs: vfs.TestFileSystem;
|
@@ -40,6 +40,9 @@ exports.getFileLikePath = getFileLikePath;
|
|
40
40
|
exports.createFileSystem = createFileSystem;
|
41
41
|
exports.updateSettingsMap = updateSettingsMap;
|
42
42
|
exports.getParseResults = getParseResults;
|
43
|
+
exports.getOpenFiles = getOpenFiles;
|
44
|
+
exports.waitForEvent = waitForEvent;
|
45
|
+
exports.convertDiagnosticReport = convertDiagnosticReport;
|
43
46
|
exports.waitForDiagnostics = waitForDiagnostics;
|
44
47
|
exports.runPyrightServer = runPyrightServer;
|
45
48
|
exports.initializeLanguageServer = initializeLanguageServer;
|
@@ -53,6 +56,7 @@ const node_worker_threads_1 = require("node:worker_threads");
|
|
53
56
|
const path_1 = __importDefault(require("path"));
|
54
57
|
const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
|
55
58
|
const node_1 = require("vscode-languageserver/node");
|
59
|
+
const backgroundThreadBase_1 = require("../../backgroundThreadBase");
|
56
60
|
const configOptions_1 = require("../../common/configOptions");
|
57
61
|
const core_1 = require("../../common/core");
|
58
62
|
const deferred_1 = require("../../common/deferred");
|
@@ -129,6 +133,7 @@ function createServerWorker(file, testServerData) {
|
|
129
133
|
});
|
130
134
|
serverWorker.on('exit', (code) => {
|
131
135
|
(0, exports.logToDisk)(`Worker exit: ${code}`, testServerData.logFile);
|
136
|
+
serverWorker = undefined;
|
132
137
|
});
|
133
138
|
return serverWorker;
|
134
139
|
}
|
@@ -185,7 +190,15 @@ function createServerConnection(testServerData, disposables) {
|
|
185
190
|
disposables.push(connection);
|
186
191
|
return connection;
|
187
192
|
}
|
188
|
-
|
193
|
+
function getProjectRootString(info, projectRoot) {
|
194
|
+
return projectRoot ? projectRoot.toString() : info.projectRoots.length > 0 ? info.projectRoots[0].toString() : '';
|
195
|
+
}
|
196
|
+
async function getOpenFiles(info, projectRoot) {
|
197
|
+
const uri = getProjectRootString(info, projectRoot);
|
198
|
+
const result = await customLsp_1.CustomLSP.sendRequest(info.connection, customLsp_1.CustomLSP.Requests.GetOpenFiles, { uri });
|
199
|
+
return (0, backgroundThreadBase_1.deserialize)(result.files);
|
200
|
+
}
|
201
|
+
async function waitForPushDiagnostics(info, timeout = 10000) {
|
189
202
|
const deferred = (0, deferred_1.createDeferred)();
|
190
203
|
const disposable = info.diagnosticsEvent((params) => {
|
191
204
|
if (params.diagnostics.length > 0) {
|
@@ -202,6 +215,71 @@ async function waitForDiagnostics(info, timeout = 10000) {
|
|
202
215
|
}
|
203
216
|
return info.diagnostics;
|
204
217
|
}
|
218
|
+
async function waitForEvent(event, name, condition, timeout = 10000) {
|
219
|
+
const deferred = (0, deferred_1.createDeferred)();
|
220
|
+
const disposable = event((params) => {
|
221
|
+
if (condition(params)) {
|
222
|
+
deferred.resolve();
|
223
|
+
}
|
224
|
+
});
|
225
|
+
const timer = setTimeout(() => deferred.reject(`Timed out waiting for ${name} event`), timeout);
|
226
|
+
try {
|
227
|
+
await deferred.promise;
|
228
|
+
}
|
229
|
+
finally {
|
230
|
+
clearTimeout(timer);
|
231
|
+
disposable.dispose();
|
232
|
+
}
|
233
|
+
}
|
234
|
+
function convertDiagnosticReportItem(uri, item) {
|
235
|
+
if (item.kind === 'unchanged') {
|
236
|
+
return {
|
237
|
+
uri,
|
238
|
+
diagnostics: [],
|
239
|
+
};
|
240
|
+
}
|
241
|
+
return {
|
242
|
+
uri,
|
243
|
+
diagnostics: item.items,
|
244
|
+
};
|
245
|
+
}
|
246
|
+
function convertDiagnosticReport(uri, report) {
|
247
|
+
if (!report.kind || !uri) {
|
248
|
+
const workspaceReport = report;
|
249
|
+
return workspaceReport.items.map((item) => convertDiagnosticReportItem(item.uri, item));
|
250
|
+
}
|
251
|
+
const documentReport = report;
|
252
|
+
return [convertDiagnosticReportItem(uri, documentReport)];
|
253
|
+
}
|
254
|
+
async function waitForPullDiagnostics(info) {
|
255
|
+
const openFiles = await getOpenFiles(info);
|
256
|
+
if (openFiles.length <= 0) {
|
257
|
+
const results = await info.connection.sendRequest(vscode_languageserver_protocol_1.WorkspaceDiagnosticRequest.type, {
|
258
|
+
identifier: 'Pylance',
|
259
|
+
previousResultIds: [],
|
260
|
+
});
|
261
|
+
return convertDiagnosticReport(undefined, results);
|
262
|
+
}
|
263
|
+
else {
|
264
|
+
const results = [];
|
265
|
+
for (const openFile of openFiles) {
|
266
|
+
const result = await info.connection.sendRequest(vscode_languageserver_protocol_1.DocumentDiagnosticRequest.type, {
|
267
|
+
textDocument: {
|
268
|
+
uri: openFile.toString(),
|
269
|
+
},
|
270
|
+
});
|
271
|
+
results.push(convertDiagnosticReport(openFile.toString(), result)[0]);
|
272
|
+
}
|
273
|
+
return results;
|
274
|
+
}
|
275
|
+
}
|
276
|
+
async function waitForDiagnostics(info, timeout = 20000) {
|
277
|
+
if (info.supportsPullDiagnostics) {
|
278
|
+
// Timeout doesn't apply on pull because we can actually ask for them.
|
279
|
+
return waitForPullDiagnostics(info);
|
280
|
+
}
|
281
|
+
return waitForPushDiagnostics(info, timeout);
|
282
|
+
}
|
205
283
|
class TestProgressPart {
|
206
284
|
constructor(_context, _token, info, done) {
|
207
285
|
this._context = _context;
|
@@ -226,7 +304,7 @@ class TestProgressPart {
|
|
226
304
|
this._context.sendNotification(node_1.WorkDoneProgressCancelNotification.type, { token: this._token });
|
227
305
|
}
|
228
306
|
}
|
229
|
-
async function runPyrightServer(projectRoots, code, callInitialize = true, extraSettings, pythonVersion = pythonVersion_1.pythonVersion3_10, backgroundAnalysis) {
|
307
|
+
async function runPyrightServer(projectRoots, code, callInitialize = true, extraSettings, pythonVersion = pythonVersion_1.pythonVersion3_10, backgroundAnalysis, supportPullDiagnostics) {
|
230
308
|
// Setup the test data we need to send for Test server startup.
|
231
309
|
const projectRootsArray = Array.isArray(projectRoots) ? projectRoots : [projectRoots];
|
232
310
|
// Here all Uri has `isCaseSensitive` as true.
|
@@ -258,6 +336,7 @@ async function runPyrightServer(projectRoots, code, callInitialize = true, extra
|
|
258
336
|
const serverStarted = (0, deferred_1.createDeferred)();
|
259
337
|
const diagnosticsEmitter = new node_1.Emitter();
|
260
338
|
const workspaceEditsEmitter = new node_1.Emitter();
|
339
|
+
const diagnosticsMode = extraSettings?.find((s) => s.item.section === 'python.analysis')?.value?.diagnosticMode;
|
261
340
|
// Setup the server info.
|
262
341
|
const info = {
|
263
342
|
disposables,
|
@@ -271,16 +350,19 @@ async function runPyrightServer(projectRoots, code, callInitialize = true, extra
|
|
271
350
|
testData,
|
272
351
|
testName: testServerData.testName,
|
273
352
|
telemetry: [],
|
353
|
+
supportsPullDiagnostics: (supportPullDiagnostics && diagnosticsMode !== 'workspace') ?? false,
|
274
354
|
projectRoots: testServerData.projectRoots,
|
275
355
|
diagnostics: [],
|
276
356
|
diagnosticsEvent: diagnosticsEmitter.event,
|
277
357
|
workspaceEdits: [],
|
278
358
|
workspaceEditsEvent: workspaceEditsEmitter.event,
|
279
|
-
getInitializeParams: () => getInitializeParams(testServerData.projectRoots),
|
359
|
+
getInitializeParams: () => getInitializeParams(testServerData.projectRoots, !!supportPullDiagnostics, diagnosticsMode),
|
280
360
|
convertPathToUri: (path) => uriUtils_1.UriEx.file(path, !ignoreCase),
|
281
361
|
dispose: async () => {
|
282
362
|
// Send shutdown. This should disconnect the dispatcher and kill the server.
|
283
|
-
|
363
|
+
if (serverWorker) {
|
364
|
+
await connection.sendRequest(vscode_languageserver_protocol_1.ShutdownRequest.type, undefined);
|
365
|
+
}
|
284
366
|
// Now we can dispose the connection.
|
285
367
|
disposables.forEach((d) => d.dispose());
|
286
368
|
(0, exports.logToDisk)(`Finished test ${testServerData.testName}`, testServerData.logFile);
|
@@ -298,7 +380,7 @@ async function runPyrightServer(projectRoots, code, callInitialize = true, extra
|
|
298
380
|
// Empty. Silently ignore for now.
|
299
381
|
}), info.connection.onRequest(vscode_languageserver_protocol_1.InlayHintRefreshRequest.type, () => {
|
300
382
|
// Empty. Silently ignore for now.
|
301
|
-
}), info.connection.onRequest(vscode_languageserver_protocol_1.ApplyWorkspaceEditRequest.type, (p) => {
|
383
|
+
}), info.connection.onRequest(vscode_languageserver_protocol_1.DiagnosticRefreshRequest.type, () => { }), info.connection.onRequest(vscode_languageserver_protocol_1.ApplyWorkspaceEditRequest.type, (p) => {
|
302
384
|
info.workspaceEdits.push(p);
|
303
385
|
workspaceEditsEmitter.fire(p);
|
304
386
|
return { applied: true };
|
@@ -415,7 +497,7 @@ async function hover(info, markerName) {
|
|
415
497
|
}, vscode_languageserver_protocol_1.CancellationToken.None);
|
416
498
|
return hoverResult;
|
417
499
|
}
|
418
|
-
function getInitializeParams(projectRoots) {
|
500
|
+
function getInitializeParams(projectRoots, supportsPullDiagnostics, diagnosticMode = undefined) {
|
419
501
|
// cloned vscode "1.71.0-insider"'s initialize params.
|
420
502
|
const workspaceFolders = projectRoots
|
421
503
|
? projectRoots.map((root, i) => ({ name: root.fileName, uri: projectRoots[i].toString() }))
|
@@ -767,6 +849,8 @@ function getInitializeParams(projectRoots) {
|
|
767
849
|
},
|
768
850
|
initializationOptions: {
|
769
851
|
autoFormatStrings: true,
|
852
|
+
diagnosticMode: diagnosticMode ?? 'openFilesOnly',
|
853
|
+
disablePullDiagnostics: !supportsPullDiagnostics,
|
770
854
|
},
|
771
855
|
workspaceFolders,
|
772
856
|
};
|