diff --git a/extensions/ql-vscode/src/common/commands.ts b/extensions/ql-vscode/src/common/commands.ts index 051e59394e4..6f2248000a1 100644 --- a/extensions/ql-vscode/src/common/commands.ts +++ b/extensions/ql-vscode/src/common/commands.ts @@ -58,6 +58,9 @@ export type QueryHistoryCommands = { "codeQLQueryHistory.itemClicked": SelectionCommandFunction; "codeQLQueryHistory.openOnGithub": SelectionCommandFunction; "codeQLQueryHistory.copyRepoList": SelectionCommandFunction; + + // Commands in the command palette + "codeQL.exportSelectedVariantAnalysisResults": () => Promise; }; // Commands tied to variant analysis diff --git a/extensions/ql-vscode/src/extension.ts b/extensions/ql-vscode/src/extension.ts index 00203bd6a99..2edfeb314d5 100644 --- a/extensions/ql-vscode/src/extension.ts +++ b/extensions/ql-vscode/src/extension.ts @@ -109,7 +109,6 @@ import { handleInstallPackDependencies, } from "./packaging"; import { HistoryItemLabelProvider } from "./query-history/history-item-label-provider"; -import { exportSelectedVariantAnalysisResults } from "./variant-analysis/export-results"; import { EvalLogViewer } from "./eval-log-viewer"; import { SummaryLanguageSupport } from "./log-insights/summary-language-support"; import { JoinOrderScannerProvider } from "./log-insights/join-order"; @@ -1144,12 +1143,6 @@ async function activateWithInstalledDistribution( ), ); - ctx.subscriptions.push( - commandRunner("codeQL.exportSelectedVariantAnalysisResults", async () => { - await exportSelectedVariantAnalysisResults(variantAnalysisManager, qhm); - }), - ); - ctx.subscriptions.push( commandRunner( "codeQL.loadVariantAnalysisRepoResults", diff --git a/extensions/ql-vscode/src/query-history/query-history-manager.ts b/extensions/ql-vscode/src/query-history/query-history-manager.ts index 9647613cd2c..8eb0188430e 100644 --- a/extensions/ql-vscode/src/query-history/query-history-manager.ts +++ b/extensions/ql-vscode/src/query-history/query-history-manager.ts @@ -271,6 +271,9 @@ export class QueryHistoryManager extends DisposableObject { "codeQLQueryHistory.itemClicked": this.handleItemClicked.bind(this), "codeQLQueryHistory.openOnGithub": this.handleOpenOnGithub.bind(this), "codeQLQueryHistory.copyRepoList": this.handleCopyRepoList.bind(this), + + "codeQL.exportSelectedVariantAnalysisResults": + this.exportSelectedVariantAnalysisResults.bind(this), }; } @@ -1127,6 +1130,22 @@ export class QueryHistoryManager extends DisposableObject { ); } + /** + * Exports the results of the currently-selected variant analysis. + */ + async exportSelectedVariantAnalysisResults(): Promise { + const queryHistoryItem = this.getCurrentQueryHistoryItem(); + if (!queryHistoryItem || queryHistoryItem.t !== "variant-analysis") { + throw new Error( + "No variant analysis results currently open. To open results, click an item in the query history view.", + ); + } + + await this.variantAnalysisManager.exportResults( + queryHistoryItem.variantAnalysis.id, + ); + } + addQuery(item: QueryHistoryInfo) { this.treeDataProvider.pushQuery(item); this.updateTreeViewSelectionIfVisible(); diff --git a/extensions/ql-vscode/src/variant-analysis/export-results.ts b/extensions/ql-vscode/src/variant-analysis/export-results.ts index 7b5647a00a3..472b914df97 100644 --- a/extensions/ql-vscode/src/variant-analysis/export-results.ts +++ b/extensions/ql-vscode/src/variant-analysis/export-results.ts @@ -16,7 +16,6 @@ import { } from "../commandRunner"; import { showInformationMessageWithAction } from "../helpers"; import { extLogger } from "../common"; -import { QueryHistoryManager } from "../query-history/query-history-manager"; import { createGist } from "./gh-api/gh-api-client"; import { generateVariantAnalysisMarkdown, @@ -37,25 +36,6 @@ import { } from "../pure/variant-analysis-filter-sort"; import { Credentials } from "../common/authentication"; -/** - * Exports the results of the currently-selected variant analysis. - */ -export async function exportSelectedVariantAnalysisResults( - variantAnalysisManager: VariantAnalysisManager, - queryHistoryManager: QueryHistoryManager, -): Promise { - const queryHistoryItem = queryHistoryManager.getCurrentQueryHistoryItem(); - if (!queryHistoryItem || queryHistoryItem.t !== "variant-analysis") { - throw new Error( - "No variant analysis results currently open. To open results, click an item in the query history view.", - ); - } - - await variantAnalysisManager.exportResults( - queryHistoryItem.variantAnalysis.id, - ); -} - const MAX_VARIANT_ANALYSIS_EXPORT_PROGRESS_STEPS = 2; /**