diff --git a/extensions/ql-vscode/src/databases/local-databases-ui.ts b/extensions/ql-vscode/src/databases/local-databases-ui.ts index 3b6f81271..8f220811c 100644 --- a/extensions/ql-vscode/src/databases/local-databases-ui.ts +++ b/extensions/ql-vscode/src/databases/local-databases-ui.ts @@ -673,6 +673,7 @@ export class DatabaseUI extends DisposableObject { }, { title: "Clearing cache", + cancellable: true, }, ); } @@ -692,6 +693,7 @@ export class DatabaseUI extends DisposableObject { }, { title: "Trimming cache", + cancellable: true, }, ); } diff --git a/extensions/ql-vscode/src/extension.ts b/extensions/ql-vscode/src/extension.ts index 53a3b12df..bc12ad931 100644 --- a/extensions/ql-vscode/src/extension.ts +++ b/extensions/ql-vscode/src/extension.ts @@ -203,6 +203,7 @@ function getCommands( }, { title: "Restarting Query Server", + cancellable: true, }, ); diff --git a/extensions/ql-vscode/src/model-editor/model-editor-view.ts b/extensions/ql-vscode/src/model-editor/model-editor-view.ts index adf0d0838..fb7267b70 100644 --- a/extensions/ql-vscode/src/model-editor/model-editor-view.ts +++ b/extensions/ql-vscode/src/model-editor/model-editor-view.ts @@ -810,57 +810,60 @@ export class ModelEditorView extends AbstractWebview< } private async modelDependency(): Promise { - return withProgress(async (progress, token) => { - const addedDatabase = - await this.promptChooseNewOrExistingDatabase(progress); - if (!addedDatabase || token.isCancellationRequested) { - return; - } + return withProgress( + async (progress, token) => { + const addedDatabase = + await this.promptChooseNewOrExistingDatabase(progress); + if (!addedDatabase || token.isCancellationRequested) { + return; + } - const addedDbUri = addedDatabase.databaseUri.toString(); - if (this.modelingStore.isDbOpen(addedDbUri)) { - this.modelingEvents.fireFocusModelEditorEvent(addedDbUri); - return; - } + const addedDbUri = addedDatabase.databaseUri.toString(); + if (this.modelingStore.isDbOpen(addedDbUri)) { + this.modelingEvents.fireFocusModelEditorEvent(addedDbUri); + return; + } - const modelFile = await pickExtensionPack( - this.cliServer, - addedDatabase, - this.modelConfig, - this.app.logger, - progress, - token, - 3, - ); - if (!modelFile) { - return; - } + const modelFile = await pickExtensionPack( + this.cliServer, + addedDatabase, + this.modelConfig, + this.app.logger, + progress, + token, + 3, + ); + if (!modelFile) { + return; + } - // Check again just before opening the editor to ensure no model editor has been opened between - // our first check and now. - if (this.modelingStore.isDbOpen(addedDbUri)) { - this.modelingEvents.fireFocusModelEditorEvent(addedDbUri); - return; - } + // Check again just before opening the editor to ensure no model editor has been opened between + // our first check and now. + if (this.modelingStore.isDbOpen(addedDbUri)) { + this.modelingEvents.fireFocusModelEditorEvent(addedDbUri); + return; + } - const view = new ModelEditorView( - this.app, - this.modelingStore, - this.modelingEvents, - this.modelConfig, - this.databaseManager, - this.variantAnalysisManager, - this.cliServer, - this.queryRunner, - this.queryStorageDir, - this.queryDir, - addedDatabase, - modelFile, - this.language, - Mode.Framework, - ); - await view.openView(); - }); + const view = new ModelEditorView( + this.app, + this.modelingStore, + this.modelingEvents, + this.modelConfig, + this.databaseManager, + this.variantAnalysisManager, + this.cliServer, + this.queryRunner, + this.queryStorageDir, + this.queryDir, + addedDatabase, + modelFile, + this.language, + Mode.Framework, + ); + await view.openView(); + }, + { cancellable: true }, + ); } private async promptChooseNewOrExistingDatabase( diff --git a/extensions/ql-vscode/src/query-server/query-server-client.ts b/extensions/ql-vscode/src/query-server/query-server-client.ts index 58bc555c4..26f851c9f 100644 --- a/extensions/ql-vscode/src/query-server/query-server-client.ts +++ b/extensions/ql-vscode/src/query-server/query-server-client.ts @@ -125,6 +125,7 @@ export class QueryServerClient extends DisposableObject { this.restartQueryServerInternal(progress, token), { title: "Restarting CodeQL query server due to unexpected termination", + cancellable: true, }, ); } else {