|
1 | 1 | import type { CommandManager } from "../packages/commands"; |
2 | | -import type { Uri } from "vscode"; |
| 2 | +import type { Uri, Range } from "vscode"; |
3 | 3 | import type { DbTreeViewItem } from "../databases/ui/db-tree-view-item"; |
| 4 | +import type { DatabaseItem } from "../local-databases"; |
4 | 5 | import type { QueryHistoryInfo } from "../query-history/query-history-info"; |
5 | 6 | import type { RepositoriesFilterSortStateWithIds } from "../pure/variant-analysis-filter-sort"; |
6 | 7 | import type { |
@@ -34,6 +35,21 @@ export type BaseCommands = { |
34 | 35 | "codeQL.openDocumentation": () => Promise<void>; |
35 | 36 | }; |
36 | 37 |
|
| 38 | +// Commands used for running local queries |
| 39 | +export type LocalQueryCommands = { |
| 40 | + "codeQL.runQuery": (uri?: Uri) => Promise<void>; |
| 41 | + "codeQL.runQueryContextEditor": (uri?: Uri) => Promise<void>; |
| 42 | + "codeQL.runQueryOnMultipleDatabases": (uri?: Uri) => Promise<void>; |
| 43 | + "codeQL.runQueryOnMultipleDatabasesContextEditor": ( |
| 44 | + uri?: Uri, |
| 45 | + ) => Promise<void>; |
| 46 | + "codeQL.runQueries": SelectionCommandFunction<Uri>; |
| 47 | + "codeQL.quickEval": (uri: Uri) => Promise<void>; |
| 48 | + "codeQL.quickEvalContextEditor": (uri: Uri) => Promise<void>; |
| 49 | + "codeQL.codeLensQuickEval": (uri: Uri, range: Range) => Promise<void>; |
| 50 | + "codeQL.quickQuery": () => Promise<void>; |
| 51 | +}; |
| 52 | + |
37 | 53 | // Commands used for the query history panel |
38 | 54 | export type QueryHistoryCommands = { |
39 | 55 | // Commands in the "navigation" group |
@@ -66,6 +82,46 @@ export type QueryHistoryCommands = { |
66 | 82 | "codeQLQueryHistory.copyRepoList": SelectionCommandFunction<QueryHistoryInfo>; |
67 | 83 | }; |
68 | 84 |
|
| 85 | +// Commands used for the local databases panel |
| 86 | +export type LocalDatabasesCommands = { |
| 87 | + // Command palette commands |
| 88 | + "codeQL.chooseDatabaseFolder": () => Promise<void>; |
| 89 | + "codeQL.chooseDatabaseArchive": () => Promise<void>; |
| 90 | + "codeQL.chooseDatabaseInternet": () => Promise<void>; |
| 91 | + "codeQL.chooseDatabaseGithub": () => Promise<void>; |
| 92 | + "codeQL.upgradeCurrentDatabase": () => Promise<void>; |
| 93 | + "codeQL.clearCache": () => Promise<void>; |
| 94 | + |
| 95 | + // Explorer context menu |
| 96 | + "codeQL.setCurrentDatabase": (uri: Uri) => Promise<void>; |
| 97 | + |
| 98 | + // Database panel view title commands |
| 99 | + "codeQLDatabases.chooseDatabaseFolder": () => Promise<void>; |
| 100 | + "codeQLDatabases.chooseDatabaseArchive": () => Promise<void>; |
| 101 | + "codeQLDatabases.chooseDatabaseInternet": () => Promise<void>; |
| 102 | + "codeQLDatabases.chooseDatabaseGithub": () => Promise<void>; |
| 103 | + "codeQLDatabases.sortByName": () => Promise<void>; |
| 104 | + "codeQLDatabases.sortByDateAdded": () => Promise<void>; |
| 105 | + |
| 106 | + // Database panel context menu |
| 107 | + "codeQLDatabases.setCurrentDatabase": ( |
| 108 | + databaseItem: DatabaseItem, |
| 109 | + ) => Promise<void>; |
| 110 | + |
| 111 | + // Database panel selection commands |
| 112 | + "codeQLDatabases.removeDatabase": SelectionCommandFunction<DatabaseItem>; |
| 113 | + "codeQLDatabases.upgradeDatabase": SelectionCommandFunction<DatabaseItem>; |
| 114 | + "codeQLDatabases.renameDatabase": SelectionCommandFunction<DatabaseItem>; |
| 115 | + "codeQLDatabases.openDatabaseFolder": SelectionCommandFunction<DatabaseItem>; |
| 116 | + "codeQLDatabases.addDatabaseSource": SelectionCommandFunction<DatabaseItem>; |
| 117 | + |
| 118 | + // Codespace template commands |
| 119 | + "codeQL.setDefaultTourDatabase": () => Promise<void>; |
| 120 | + |
| 121 | + // Internal commands |
| 122 | + "codeQLDatabases.removeOrphanedDatabases": () => Promise<void>; |
| 123 | +}; |
| 124 | + |
69 | 125 | // Commands tied to variant analysis |
70 | 126 | export type VariantAnalysisCommands = { |
71 | 127 | "codeQL.autoDownloadVariantAnalysisResult": ( |
@@ -108,7 +164,12 @@ export type DatabasePanelCommands = { |
108 | 164 |
|
109 | 165 | export type AllCommands = BaseCommands & |
110 | 166 | QueryHistoryCommands & |
| 167 | + LocalDatabasesCommands & |
111 | 168 | VariantAnalysisCommands & |
112 | 169 | DatabasePanelCommands; |
113 | 170 |
|
114 | 171 | export type AppCommandManager = CommandManager<AllCommands>; |
| 172 | + |
| 173 | +// Separate command manager because it uses a different logger |
| 174 | +export type QueryServerCommands = LocalQueryCommands; |
| 175 | +export type QueryServerCommandManager = CommandManager<QueryServerCommands>; |
0 commit comments