@zzzen/pyright-internal 1.2.0-dev.20230430 → 1.2.0-dev.20230514
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/backgroundAnalysisProgram.d.ts +4 -1
- package/dist/analyzer/backgroundAnalysisProgram.js +12 -0
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/checker.d.ts +1 -0
- package/dist/analyzer/checker.js +89 -6
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +14 -15
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructors.d.ts +6 -0
- package/dist/analyzer/constructors.js +513 -0
- package/dist/analyzer/constructors.js.map +1 -0
- package/dist/analyzer/dataClasses.js +86 -2
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/docStringConversion.js +1 -1
- package/dist/analyzer/docStringConversion.js.map +1 -1
- package/dist/analyzer/enums.js +62 -8
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.js +47 -29
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +2 -2
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +3 -6
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.d.ts +16 -0
- package/dist/analyzer/operations.js +749 -0
- package/dist/analyzer/operations.js.map +1 -0
- package/dist/analyzer/parseTreeUtils.d.ts +4 -2
- package/dist/analyzer/parseTreeUtils.js +32 -1
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +16 -0
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +11 -33
- package/dist/analyzer/program.js +73 -735
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/protocols.js +1 -1
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/service.d.ts +5 -21
- package/dist/analyzer/service.js +26 -33
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +9 -41
- package/dist/analyzer/sourceFile.js +219 -238
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.d.ts +3 -9
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/symbol.d.ts +3 -1
- package/dist/analyzer/symbol.js +5 -0
- package/dist/analyzer/symbol.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +460 -1425
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +42 -7
- package/dist/analyzer/typeEvaluatorTypes.js +33 -1
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +2 -8
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +3 -3
- package/dist/analyzer/typePrinter.js +247 -100
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +14 -7
- package/dist/analyzer/typeUtils.js +204 -49
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.d.ts +6 -7
- package/dist/analyzer/typeVarContext.js +21 -32
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typedDicts.js +2 -2
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +7 -4
- package/dist/analyzer/types.js +20 -10
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +1 -1
- package/dist/backgroundAnalysisBase.js +16 -0
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +0 -1
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/extensibility.d.ts +28 -4
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/logTracker.d.ts +2 -0
- package/dist/common/logTracker.js +8 -1
- package/dist/common/logTracker.js.map +1 -1
- package/dist/common/lspUtils.d.ts +4 -1
- package/dist/common/lspUtils.js +38 -1
- package/dist/common/lspUtils.js.map +1 -1
- package/dist/common/pathUtils.d.ts +11 -11
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/pythonVersion.d.ts +2 -1
- package/dist/common/pythonVersion.js +1 -0
- package/dist/common/pythonVersion.js.map +1 -1
- package/dist/common/workspaceEditUtils.d.ts +8 -8
- package/dist/common/workspaceEditUtils.js +10 -10
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +3 -7
- package/dist/languageServerBase.js +41 -73
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +50 -51
- package/dist/languageService/autoImporter.js +125 -210
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.d.ts +1 -1
- package/dist/languageService/callHierarchyProvider.js +11 -37
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +39 -81
- package/dist/languageService/completionProvider.js +572 -801
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.js +1 -1
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.d.ts +6 -7
- package/dist/languageService/documentSymbolCollector.js +47 -28
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.d.ts +13 -35
- package/dist/languageService/documentSymbolProvider.js +52 -264
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +5 -6
- package/dist/languageService/hoverProvider.js +40 -132
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +6 -11
- package/dist/languageService/referencesProvider.js +23 -17
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.d.ts +16 -0
- package/dist/languageService/renameProvider.js +139 -0
- package/dist/languageService/renameProvider.js.map +1 -0
- package/dist/languageService/symbolIndexer.d.ts +31 -0
- package/dist/languageService/symbolIndexer.js +105 -0
- package/dist/languageService/symbolIndexer.js.map +1 -0
- package/dist/languageService/tooltipUtils.d.ts +8 -1
- package/dist/languageService/tooltipUtils.js +102 -1
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.d.ts +17 -0
- package/dist/languageService/workspaceSymbolProvider.js +133 -0
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -0
- package/dist/localization/localize.d.ts +33 -15
- package/dist/localization/localize.js +13 -7
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +14 -7
- package/dist/parser/parser.js +3 -0
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +26 -4
- package/dist/pyright.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +15 -20
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +14 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/completions.test.js +11 -236
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/docStringConversion.test.js +36 -2
- package/dist/tests/docStringConversion.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js +3 -3
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/fourslash/completions.override2.fourslash.js +1 -16
- package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
- package/dist/tests/fourslash/fourslash.d.ts +4 -4
- package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js +1 -1
- package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +17 -11
- package/dist/tests/harness/fourslash/testState.js +39 -50
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/importResolver.test.js +81 -1
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +1 -1
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/testStateUtils.d.ts +2 -2
- package/dist/tests/testStateUtils.js +38 -8
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +13 -1
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +5 -1
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +9 -1
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +25 -9
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/workspaceEditUtils.test.js +95 -6
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/package.json +4 -4
- package/dist/languageService/importAdder.d.ts +0 -40
- package/dist/languageService/importAdder.js +0 -388
- package/dist/languageService/importAdder.js.map +0 -1
- package/dist/languageService/indentationUtils.d.ts +0 -16
- package/dist/languageService/indentationUtils.js +0 -727
- package/dist/languageService/indentationUtils.js.map +0 -1
- package/dist/languageService/insertionPointUtils.d.ts +0 -9
- package/dist/languageService/insertionPointUtils.js +0 -132
- package/dist/languageService/insertionPointUtils.js.map +0 -1
- package/dist/languageService/renameModuleProvider.d.ts +0 -65
- package/dist/languageService/renameModuleProvider.js +0 -939
- package/dist/languageService/renameModuleProvider.js.map +0 -1
- package/dist/tests/fourslash/completions.commitChars.fourslash.d.ts +0 -1
- package/dist/tests/fourslash/completions.commitChars.fourslash.js +0 -81
- package/dist/tests/fourslash/completions.commitChars.fourslash.js.map +0 -1
- package/dist/tests/importAdder.test.d.ts +0 -1
- package/dist/tests/importAdder.test.js +0 -1325
- package/dist/tests/importAdder.test.js.map +0 -1
- package/dist/tests/indentationUtils.ptvs.test.d.ts +0 -1
- package/dist/tests/indentationUtils.ptvs.test.js +0 -324
- package/dist/tests/indentationUtils.ptvs.test.js.map +0 -1
- package/dist/tests/indentationUtils.reindent.test.d.ts +0 -1
- package/dist/tests/indentationUtils.reindent.test.js +0 -372
- package/dist/tests/indentationUtils.reindent.test.js.map +0 -1
- package/dist/tests/indentationUtils.test.d.ts +0 -1
- package/dist/tests/indentationUtils.test.js +0 -502
- package/dist/tests/indentationUtils.test.js.map +0 -1
- package/dist/tests/insertionPointUtils.test.d.ts +0 -1
- package/dist/tests/insertionPointUtils.test.js +0 -154
- package/dist/tests/insertionPointUtils.test.js.map +0 -1
- package/dist/tests/moveSymbol.importAdder.test.d.ts +0 -1
- package/dist/tests/moveSymbol.importAdder.test.js +0 -298
- package/dist/tests/moveSymbol.importAdder.test.js.map +0 -1
- package/dist/tests/moveSymbol.insertion.test.d.ts +0 -1
- package/dist/tests/moveSymbol.insertion.test.js +0 -537
- package/dist/tests/moveSymbol.insertion.test.js.map +0 -1
- package/dist/tests/moveSymbol.misc.test.d.ts +0 -1
- package/dist/tests/moveSymbol.misc.test.js +0 -169
- package/dist/tests/moveSymbol.misc.test.js.map +0 -1
- package/dist/tests/moveSymbol.updateReference.test.d.ts +0 -1
- package/dist/tests/moveSymbol.updateReference.test.js +0 -1071
- package/dist/tests/moveSymbol.updateReference.test.js.map +0 -1
- package/dist/tests/renameModule.folder.test.d.ts +0 -1
- package/dist/tests/renameModule.folder.test.js +0 -229
- package/dist/tests/renameModule.folder.test.js.map +0 -1
- package/dist/tests/renameModule.fromImports.test.d.ts +0 -1
- package/dist/tests/renameModule.fromImports.test.js +0 -790
- package/dist/tests/renameModule.fromImports.test.js.map +0 -1
- package/dist/tests/renameModule.imports.test.d.ts +0 -1
- package/dist/tests/renameModule.imports.test.js +0 -380
- package/dist/tests/renameModule.imports.test.js.map +0 -1
- package/dist/tests/renameModule.misc.test.d.ts +0 -1
- package/dist/tests/renameModule.misc.test.js +0 -615
- package/dist/tests/renameModule.misc.test.js.map +0 -1
- package/dist/tests/renameModule.relativePath.test.d.ts +0 -1
- package/dist/tests/renameModule.relativePath.test.js +0 -231
- package/dist/tests/renameModule.relativePath.test.js.map +0 -1
- package/dist/tests/renameModuleTestUtils.d.ts +0 -4
- package/dist/tests/renameModuleTestUtils.js +0 -76
- package/dist/tests/renameModuleTestUtils.js.map +0 -1
@@ -30,11 +30,10 @@ const extensibility_1 = require("./common/extensibility");
|
|
30
30
|
const lspUtils_1 = require("./common/lspUtils");
|
31
31
|
const pathUtils_1 = require("./common/pathUtils");
|
32
32
|
const progressReporter_1 = require("./common/progressReporter");
|
33
|
-
const stringUtils_1 = require("./common/stringUtils");
|
34
33
|
const uriParser_1 = require("./common/uriParser");
|
35
|
-
const workspaceEditUtils_1 = require("./common/workspaceEditUtils");
|
36
34
|
const analyzerServiceExecutor_1 = require("./languageService/analyzerServiceExecutor");
|
37
35
|
const callHierarchyProvider_1 = require("./languageService/callHierarchyProvider");
|
36
|
+
const completionProvider_1 = require("./languageService/completionProvider");
|
38
37
|
const definitionProvider_1 = require("./languageService/definitionProvider");
|
39
38
|
const documentHighlightProvider_1 = require("./languageService/documentHighlightProvider");
|
40
39
|
const documentSymbolProvider_1 = require("./languageService/documentSymbolProvider");
|
@@ -45,6 +44,8 @@ const signatureHelpProvider_1 = require("./languageService/signatureHelpProvider
|
|
45
44
|
const localize_1 = require("./localization/localize");
|
46
45
|
const pyrightFileSystem_1 = require("./pyrightFileSystem");
|
47
46
|
const workspaceFactory_1 = require("./workspaceFactory");
|
47
|
+
const renameProvider_1 = require("./languageService/renameProvider");
|
48
|
+
const workspaceSymbolProvider_1 = require("./languageService/workspaceSymbolProvider");
|
48
49
|
const nullProgressReporter = (0, progress_1.attachWorkDone)(undefined, /* params */ undefined);
|
49
50
|
/*
|
50
51
|
* Additional DiagnosticTag values that are specific to Visual Studio.
|
@@ -253,9 +254,6 @@ class LanguageServerBase {
|
|
253
254
|
analyzerServiceExecutor_1.AnalyzerServiceExecutor.runWithOptions(this.rootPath, workspace, serverSettings, typeStubTargetImportName);
|
254
255
|
workspace.searchPathsToWatch = (_a = workspace.service.librarySearchPathsToWatch) !== null && _a !== void 0 ? _a : [];
|
255
256
|
}
|
256
|
-
get allowModuleRename() {
|
257
|
-
return false;
|
258
|
-
}
|
259
257
|
isPythonPathImmutable(filePath) {
|
260
258
|
// This function is called to determine if the file is using
|
261
259
|
// a special pythonPath separate from a workspace or not.
|
@@ -501,31 +499,19 @@ class LanguageServerBase {
|
|
501
499
|
if (workspace.disableLanguageServices) {
|
502
500
|
return undefined;
|
503
501
|
}
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
return symbolList;
|
508
|
-
}
|
509
|
-
return (0, documentSymbolProvider_1.convertToFlatSymbols)(params.textDocument.uri, symbolList);
|
502
|
+
return workspace.service.run((program) => {
|
503
|
+
return new documentSymbolProvider_1.DocumentSymbolProvider(program, filePath, this.client.hasHierarchicalDocumentSymbolCapability, token).getSymbols();
|
504
|
+
}, token);
|
510
505
|
}
|
511
|
-
|
512
|
-
const
|
513
|
-
|
514
|
-
? (symbols) => resultReporter.report(symbols)
|
515
|
-
: (symbols) => (0, collectionUtils_1.appendArray)(symbolList, symbols);
|
516
|
-
for (const workspace of this.workspaceFactory.items()) {
|
517
|
-
await workspace.isInitialized.promise;
|
518
|
-
if (!workspace.disableLanguageServices && !workspace.disableWorkspaceSymbol) {
|
519
|
-
workspace.service.reportSymbolsForWorkspace(params.query, reporter, token);
|
520
|
-
}
|
521
|
-
}
|
522
|
-
return symbolList;
|
506
|
+
onWorkspaceSymbol(params, token, resultReporter) {
|
507
|
+
const result = new workspaceSymbolProvider_1.WorkspaceSymbolProvider(this.workspaceFactory.items(), resultReporter, params.query, token).reportSymbols();
|
508
|
+
return Promise.resolve(result);
|
523
509
|
}
|
524
510
|
async onHover(params, token) {
|
525
511
|
const { filePath, position } = this.uriParser.decodeTextDocumentPosition(params.textDocument, params.position);
|
526
512
|
const workspace = await this.getWorkspaceForFile(filePath);
|
527
513
|
return workspace.service.run((program) => {
|
528
|
-
return new hoverProvider_1.HoverProvider(program, filePath, position, this.client.hoverContentFormat,
|
514
|
+
return new hoverProvider_1.HoverProvider(program, filePath, position, this.client.hoverContentFormat, token).getHover();
|
529
515
|
}, token);
|
530
516
|
}
|
531
517
|
async onDocumentHighlight(params, token) {
|
@@ -545,7 +531,7 @@ class LanguageServerBase {
|
|
545
531
|
return new signatureHelpProvider_1.SignatureHelpProvider(program, filePath, position, this.client.signatureDocFormat, this.client.hasSignatureLabelOffsetCapability, this.client.hasActiveParameterCapability, params.context, token).getSignatureHelp();
|
546
532
|
}, token);
|
547
533
|
}
|
548
|
-
|
534
|
+
setCompletionIncomplete(params, completions) {
|
549
535
|
var _a, _b;
|
550
536
|
// We set completion incomplete for the first invocation and next consecutive call,
|
551
537
|
// but after that we mark it as completed so the client doesn't repeatedly call back.
|
@@ -558,29 +544,27 @@ class LanguageServerBase {
|
|
558
544
|
const completionIncomplete = this._lastTriggerKind !== vscode_languageserver_1.CompletionTriggerKind.TriggerForIncompleteCompletions ||
|
559
545
|
((_a = params.context) === null || _a === void 0 ? void 0 : _a.triggerKind) !== vscode_languageserver_1.CompletionTriggerKind.TriggerForIncompleteCompletions;
|
560
546
|
this._lastTriggerKind = (_b = params.context) === null || _b === void 0 ? void 0 : _b.triggerKind;
|
547
|
+
if (completions) {
|
548
|
+
completions.isIncomplete = completionIncomplete;
|
549
|
+
}
|
550
|
+
}
|
551
|
+
async onCompletion(params, token) {
|
561
552
|
const { filePath, position } = this.uriParser.decodeTextDocumentPosition(params.textDocument, params.position);
|
562
553
|
const workspace = await this.getWorkspaceForFile(filePath);
|
563
554
|
if (workspace.disableLanguageServices) {
|
564
|
-
return;
|
555
|
+
return null;
|
565
556
|
}
|
566
|
-
|
567
|
-
|
568
|
-
completions.
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
completions
|
576
|
-
|
577
|
-
// Just stick it on the first item. It only checks the first one
|
578
|
-
completions.completionList.items[0].data = {
|
579
|
-
...completions.completionList.items[0].data,
|
580
|
-
moduleHash: (0, stringUtils_1.hashString)(completions.memberAccessInfo.lastKnownModule),
|
581
|
-
};
|
582
|
-
}
|
583
|
-
return completions === null || completions === void 0 ? void 0 : completions.completionList;
|
557
|
+
return workspace.service.run((program) => {
|
558
|
+
var _a;
|
559
|
+
const completions = new completionProvider_1.CompletionProvider(program, workspace.rootPath, filePath, position, {
|
560
|
+
format: this.client.completionDocFormat,
|
561
|
+
snippet: this.client.completionSupportsSnippet,
|
562
|
+
lazyEdit: false,
|
563
|
+
triggerCharacter: (_a = params === null || params === void 0 ? void 0 : params.context) === null || _a === void 0 ? void 0 : _a.triggerCharacter,
|
564
|
+
}, token).getCompletions();
|
565
|
+
this.setCompletionIncomplete(params, completions);
|
566
|
+
return completions;
|
567
|
+
}, token);
|
584
568
|
}
|
585
569
|
// Cancellation bugs in vscode and LSP:
|
586
570
|
// https://github.com/microsoft/vscode-languageserver-node/issues/615
|
@@ -592,19 +576,25 @@ class LanguageServerBase {
|
|
592
576
|
const completionItemData = (0, lspUtils_1.fromLSPAny)(params.data);
|
593
577
|
if (completionItemData && completionItemData.filePath) {
|
594
578
|
const workspace = await this.getWorkspaceForFile(completionItemData.filePath);
|
595
|
-
|
579
|
+
workspace.service.run((program) => {
|
580
|
+
return new completionProvider_1.CompletionProvider(program, workspace.rootPath, completionItemData.filePath, completionItemData.position, {
|
581
|
+
format: this.client.completionDocFormat,
|
582
|
+
snippet: this.client.completionSupportsSnippet,
|
583
|
+
lazyEdit: false,
|
584
|
+
}, token).resolveCompletionItem(params);
|
585
|
+
}, token);
|
596
586
|
}
|
597
587
|
return params;
|
598
588
|
}
|
599
589
|
async onPrepareRenameRequest(params, token) {
|
600
|
-
var _a;
|
601
590
|
const { filePath, position } = this.uriParser.decodeTextDocumentPosition(params.textDocument, params.position);
|
602
591
|
const workspace = await this.getWorkspaceForFile(filePath);
|
603
592
|
if (workspace.disableLanguageServices) {
|
604
593
|
return null;
|
605
594
|
}
|
606
|
-
|
607
|
-
|
595
|
+
return workspace.service.run((program) => {
|
596
|
+
return new renameProvider_1.RenameProvider(program, filePath, position, token).canRenameSymbol(workspace.kinds.includes(workspaceFactory_1.WellKnownWorkspaceKinds.Default));
|
597
|
+
}, token);
|
608
598
|
}
|
609
599
|
async onRenameRequest(params, token) {
|
610
600
|
const { filePath, position } = this.uriParser.decodeTextDocumentPosition(params.textDocument, params.position);
|
@@ -612,11 +602,9 @@ class LanguageServerBase {
|
|
612
602
|
if (workspace.disableLanguageServices) {
|
613
603
|
return;
|
614
604
|
}
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
}
|
619
|
-
return (0, workspaceEditUtils_1.convertToWorkspaceEdit)(workspace.service.fs, editActions);
|
605
|
+
return workspace.service.run((program) => {
|
606
|
+
return new renameProvider_1.RenameProvider(program, filePath, position, token).renameSymbol(params.newName, workspace.kinds.includes(workspaceFactory_1.WellKnownWorkspaceKinds.Default));
|
607
|
+
}, token);
|
620
608
|
}
|
621
609
|
async onPrepare(params, token) {
|
622
610
|
const { filePath, position } = this.uriParser.decodeTextDocumentPosition(params.textDocument, params.position);
|
@@ -758,26 +746,6 @@ class LanguageServerBase {
|
|
758
746
|
this.openFileMap.clear();
|
759
747
|
return Promise.resolve();
|
760
748
|
}
|
761
|
-
resolveWorkspaceCompletionItem(workspace, filePath, item, token) {
|
762
|
-
workspace.service.resolveCompletionItem(filePath, item, this.getCompletionOptions(workspace),
|
763
|
-
/* nameMap */ undefined, token);
|
764
|
-
}
|
765
|
-
getWorkspaceCompletionsForPosition(workspace, filePath, position, options, token) {
|
766
|
-
return workspace.service.getCompletionsForPosition(filePath, position, workspace.rootPath, options, undefined, token);
|
767
|
-
}
|
768
|
-
getCompletionOptions(workspace, params) {
|
769
|
-
var _a;
|
770
|
-
return {
|
771
|
-
format: this.client.completionDocFormat,
|
772
|
-
snippet: this.client.completionSupportsSnippet,
|
773
|
-
lazyEdit: this.client.completionItemResolveSupportsAdditionalTextEdits,
|
774
|
-
autoImport: true,
|
775
|
-
includeUserSymbolsInAutoImport: false,
|
776
|
-
extraCommitChars: false,
|
777
|
-
importFormat: "absolute" /* Absolute */,
|
778
|
-
triggerCharacter: (_a = params === null || params === void 0 ? void 0 : params.context) === null || _a === void 0 ? void 0 : _a.triggerCharacter,
|
779
|
-
};
|
780
|
-
}
|
781
749
|
convertDiagnostics(fs, fileDiagnostics) {
|
782
750
|
return [
|
783
751
|
{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"languageServerBase.js","sourceRoot":"","sources":["../../src/languageServerBase.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"languageServerBase.js","sourceRoot":"","sources":["../../src/languageServerBase.ts"],"names":[],"mappings":"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"}
|
@@ -1,17 +1,14 @@
|
|
1
1
|
import { CancellationToken, CompletionItemKind, SymbolKind } from 'vscode-languageserver';
|
2
|
-
import { ImportResolver } from '../analyzer/importResolver';
|
3
|
-
import {
|
2
|
+
import { ImportResolver, ModuleNameAndType } from '../analyzer/importResolver';
|
3
|
+
import { ImportGroup } from '../analyzer/importStatementUtils';
|
4
4
|
import { Symbol } from '../analyzer/symbol';
|
5
5
|
import { ExecutionEnvironment } from '../common/configOptions';
|
6
6
|
import { TextEditAction } from '../common/editAction';
|
7
7
|
import { Position } from '../common/textRange';
|
8
8
|
import { ParseResults } from '../parser/parser';
|
9
9
|
import { CompletionMap } from './completionProvider';
|
10
|
-
import {
|
11
|
-
|
12
|
-
Absolute = "absolute",
|
13
|
-
Relative = "relative"
|
14
|
-
}
|
10
|
+
import { SourceFileInfo } from '../common/extensibility';
|
11
|
+
import { IndexAliasData } from './symbolIndexer';
|
15
12
|
export interface AutoImportSymbol {
|
16
13
|
readonly importAlias?: IndexAliasData;
|
17
14
|
readonly symbol?: Symbol;
|
@@ -22,59 +19,62 @@ export interface ModuleSymbolTable {
|
|
22
19
|
forEach(callbackfn: (symbol: AutoImportSymbol, name: string, library: boolean) => void): void;
|
23
20
|
}
|
24
21
|
export declare type ModuleSymbolMap = Map<string, ModuleSymbolTable>;
|
25
|
-
export interface AbbreviationInfo {
|
26
|
-
importFrom?: string;
|
27
|
-
importName: string;
|
28
|
-
}
|
29
22
|
export interface AutoImportResult {
|
30
|
-
name: string;
|
31
|
-
symbol?: Symbol;
|
32
|
-
source?: string;
|
33
|
-
insertionText: string;
|
34
|
-
edits?: TextEditAction[];
|
35
|
-
alias?: string;
|
36
|
-
kind?: CompletionItemKind;
|
23
|
+
readonly name: string;
|
24
|
+
readonly symbol?: Symbol;
|
25
|
+
readonly source?: string;
|
26
|
+
readonly insertionText: string;
|
27
|
+
readonly edits?: TextEditAction[];
|
28
|
+
readonly alias?: string;
|
29
|
+
readonly kind?: CompletionItemKind;
|
37
30
|
}
|
38
31
|
export interface AutoImportOptions {
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
32
|
+
readonly patternMatcher?: (pattern: string, name: string) => boolean;
|
33
|
+
readonly allowVariableInAll?: boolean;
|
34
|
+
readonly lazyEdit?: boolean;
|
35
|
+
}
|
36
|
+
export interface ImportParts {
|
37
|
+
readonly importName: string;
|
38
|
+
readonly symbolName?: string;
|
39
|
+
readonly importFrom?: string;
|
40
|
+
readonly filePath: string;
|
41
|
+
readonly dotCount: number;
|
42
|
+
readonly moduleNameAndType: ModuleNameAndType;
|
43
|
+
}
|
44
|
+
export interface ImportAliasData {
|
45
|
+
readonly importParts: ImportParts;
|
46
|
+
readonly importGroup: ImportGroup;
|
47
|
+
readonly symbol?: Symbol;
|
48
|
+
readonly kind?: SymbolKind;
|
49
|
+
readonly itemKind?: CompletionItemKind;
|
44
50
|
}
|
45
|
-
export declare
|
51
|
+
export declare type AutoImportResultMap = Map<string, AutoImportResult[]>;
|
52
|
+
export declare function buildModuleSymbolsMap(files: readonly SourceFileInfo[]): ModuleSymbolMap;
|
53
|
+
export declare function addModuleSymbolsMap(files: readonly SourceFileInfo[], moduleSymbolMap: ModuleSymbolMap): void;
|
46
54
|
export declare class AutoImporter {
|
47
|
-
private _execEnvironment;
|
48
|
-
|
49
|
-
|
50
|
-
private _invocationPosition;
|
55
|
+
private readonly _execEnvironment;
|
56
|
+
protected readonly importResolver: ImportResolver;
|
57
|
+
protected readonly parseResults: ParseResults;
|
58
|
+
private readonly _invocationPosition;
|
51
59
|
private readonly _excludes;
|
52
|
-
|
53
|
-
|
54
|
-
private readonly _filePath;
|
60
|
+
protected readonly moduleSymbolMap: ModuleSymbolMap;
|
61
|
+
protected readonly options: AutoImportOptions;
|
55
62
|
private readonly _importStatements;
|
56
|
-
|
57
|
-
private readonly _perfInfo;
|
58
|
-
constructor(_execEnvironment: ExecutionEnvironment, _importResolver: ImportResolver, _parseResults: ParseResults, _invocationPosition: Position, _excludes: CompletionMap, _moduleSymbolMap: ModuleSymbolMap, _options: AutoImportOptions);
|
59
|
-
getAutoImportCandidatesForAbbr(abbr: string | undefined, abbrInfo: AbbreviationInfo, token: CancellationToken): AutoImportResult[];
|
63
|
+
constructor(_execEnvironment: ExecutionEnvironment, importResolver: ImportResolver, parseResults: ParseResults, _invocationPosition: Position, _excludes: CompletionMap, moduleSymbolMap: ModuleSymbolMap, options: AutoImportOptions);
|
60
64
|
getAutoImportCandidates(word: string, similarityLimit: number, abbrFromUsers: string | undefined, token: CancellationToken): AutoImportResult[];
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
65
|
+
protected getCandidates(word: string, similarityLimit: number, abbrFromUsers: string | undefined, token: CancellationToken): Map<string, AutoImportResult[]>;
|
66
|
+
protected addImportsFromModuleMap(word: string, similarityLimit: number, abbrFromUsers: string | undefined, aliasMap: Map<string, Map<string, ImportAliasData>>, results: AutoImportResultMap, token: CancellationToken): void;
|
67
|
+
protected addImportsFromImportAliasMap(importAliasMap: Map<string, Map<string, ImportAliasData>>, abbrFromUsers: string | undefined, results: AutoImportResultMap, token: CancellationToken): void;
|
68
|
+
protected processModuleSymbolTable(topLevelSymbols: ModuleSymbolTable, moduleFilePath: string, word: string, similarityLimit: number, isStubOrHasInit: {
|
69
|
+
isStub: boolean;
|
70
|
+
hasInit: boolean;
|
71
|
+
}, abbrFromUsers: string | undefined, importAliasMap: Map<string, Map<string, ImportAliasData>>, results: AutoImportResultMap, token: CancellationToken): void;
|
72
|
+
protected getNameForImportFrom(library: boolean, moduleFilePath: string): string | undefined;
|
73
|
+
protected isStubFileOrHasInit<T>(map: Map<string, T>, filePath: string): {
|
74
|
+
isStub: boolean;
|
75
|
+
hasInit: boolean;
|
70
76
|
};
|
71
|
-
private _getCandidates;
|
72
|
-
private _addImportsFromLibraryMap;
|
73
|
-
private _addImportsFromModuleMap;
|
74
|
-
private _isStubFileOrHasInit;
|
75
|
-
private _processModuleSymbolTable;
|
76
77
|
private _shouldIncludeVariable;
|
77
|
-
private _addImportsFromImportAliasMap;
|
78
78
|
private _addToImportAliasMap;
|
79
79
|
private _compareImportAliasData;
|
80
80
|
private _getImportPartsForSymbols;
|
@@ -84,7 +84,6 @@ export declare class AutoImporter {
|
|
84
84
|
private _containsName;
|
85
85
|
private _getModuleNameAndTypeFromFilePath;
|
86
86
|
private _getTextEditsForAutoImportByFilePath;
|
87
|
-
private _perfIndexCount;
|
88
87
|
private _addResult;
|
89
88
|
}
|
90
89
|
export declare function convertSymbolKindToCompletionItemKind(kind: SymbolKind | undefined): 2 | 22 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 17 | 19 | 20 | 21 | 23 | 24 | 25 | undefined;
|