Run variant analysis from Queries Panel context menu

This commit is contained in:
shati-patel
2023-06-23 17:11:11 +01:00
parent 9704b498fe
commit 3a3264302a
3 changed files with 23 additions and 0 deletions

View File

@@ -510,6 +510,10 @@
"command": "codeQLQueries.runLocalQueryContextMenu",
"title": "Run against local database"
},
{
"command": "codeQLQueries.runVariantAnalysisContextMenu",
"title": "Run against variant analysis repositories"
},
{
"command": "codeQLVariantAnalysisRepositories.openConfigFile",
"title": "Open database configuration file",
@@ -1114,6 +1118,11 @@
"group": "queriesPanel@1",
"when": "view == codeQLQueries && viewItem == queryFile && codeQL.currentDatabaseItem"
},
{
"command": "codeQLQueries.runVariantAnalysisContextMenu",
"group": "queriesPanel@1",
"when": "view == codeQLQueries && viewItem == queryFile"
},
{
"command": "codeQLTests.showOutputDifferences",
"group": "qltest@1",
@@ -1301,6 +1310,10 @@
"command": "codeQLQueries.runLocalQueryContextMenu",
"when": "false"
},
{
"command": "codeQLQueries.runVariantAnalysisContextMenu",
"when": "false"
},
{
"command": "codeQLVariantAnalysisRepositories.openConfigFile",
"when": "false"

View File

@@ -265,6 +265,7 @@ export type VariantAnalysisCommands = {
) => Promise<void>;
"codeQL.runVariantAnalysis": (uri?: Uri) => Promise<void>;
"codeQL.runVariantAnalysisContextEditor": (uri?: Uri) => Promise<void>;
"codeQLQueries.runVariantAnalysisContextMenu": TreeViewContextSingleSelectionCommandFunction<QueryTreeViewItem>;
};
export type DatabasePanelCommands = {

View File

@@ -76,6 +76,7 @@ import {
showAndLogInformationMessage,
showAndLogWarningMessage,
} from "../common/logging";
import type { QueryTreeViewItem } from "../queries-panel/query-tree-view-item";
const maxRetryCount = 3;
@@ -163,6 +164,8 @@ export class VariantAnalysisManager
// Since we are tracking extension usage through commands, this command mirrors the "codeQL.runVariantAnalysis" command
"codeQL.runVariantAnalysisContextEditor":
this.runVariantAnalysisFromCommand.bind(this),
"codeQLQueries.runVariantAnalysisContextMenu":
this.runVariantAnalysisFromQueriesPanel.bind(this),
};
}
@@ -185,6 +188,12 @@ export class VariantAnalysisManager
);
}
private async runVariantAnalysisFromQueriesPanel(
queryTreeViewItem: QueryTreeViewItem,
): Promise<void> {
await this.runVariantAnalysisFromCommand(Uri.file(queryTreeViewItem.path));
}
public async runVariantAnalysis(
uri: Uri | undefined,
progress: ProgressCallback,