Skip to content
44 changes: 35 additions & 9 deletions src/harness/fourslashImpl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1917,19 +1917,45 @@ namespace FourSlash {
}

public baselineQuickInfo() {
const baselineFile = this.getBaselineFileNameForInternalFourslashFile();
Harness.Baseline.runBaseline(
baselineFile,
stringify(
this.testData.markers.map(marker => ({
marker,
quickInfo: this.languageService.getQuickInfoAtPosition(marker.fileName, marker.position)
}))));
const baselineFile = this.getBaselineFileNameForContainingTestFile();
const result = ts.arrayFrom(this.testData.markerPositions.entries(), ([name, marker]) => ({
marker: { ...marker, name },
quickInfo: this.languageService.getQuickInfoAtPosition(marker.fileName, marker.position)
}));
Harness.Baseline.runBaseline(baselineFile, stringify(result));
}

public baselineSignatureHelp() {
const baselineFile = this.getBaselineFileNameForContainingTestFile();
const result = ts.arrayFrom(this.testData.markerPositions.entries(), ([name, marker]) => ({
marker: { ...marker, name },
signatureHelp: this.languageService.getSignatureHelpItems(marker.fileName, marker.position, /*options*/ undefined)
}));
Harness.Baseline.runBaseline(baselineFile, stringify(result));
}

public baselineCompletions(preferences?: ts.UserPreferences) {
const baselineFile = this.getBaselineFileNameForContainingTestFile();
const result = ts.arrayFrom(this.testData.markerPositions.entries(), ([name, marker]) => {
const completions = this.getCompletionListAtCaret(preferences);
this.goToMarker(marker);
return {
marker: { ...marker, name },
completionList: {
...completions,
entries: completions?.entries.map(entry => ({
...entry,
...this.getCompletionEntryDetails(entry.name, entry.source, entry.data, preferences)
})),
}
};
});
Harness.Baseline.runBaseline(baselineFile, stringify(result));
}

public baselineSmartSelection() {
const n = "\n";
const baselineFile = this.getBaselineFileNameForInternalFourslashFile();
const baselineFile = this.getBaselineFileNameForContainingTestFile();
const markers = this.getMarkers();
const fileContent = this.activeFile.content;
const text = markers.map(marker => {
Expand Down
8 changes: 8 additions & 0 deletions src/harness/fourslashInterfaceImpl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -396,6 +396,14 @@ namespace FourSlashInterface {
this.state.baselineQuickInfo();
}

public baselineSignatureHelp() {
this.state.baselineSignatureHelp();
}

public baselineCompletions() {
this.state.baselineCompletions();
}

public baselineSmartSelection() {
this.state.baselineSmartSelection();
}
Expand Down
Loading