From 710daf4234870135e315c2a97f72a23859f90e48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Canouil?= <8896044+mcanouil@users.noreply.github.com> Date: Tue, 11 Feb 2025 21:54:03 +0100 Subject: [PATCH] fix: add more levels of control for the modal --- apps/vscode/CHANGELOG.md | 2 +- apps/vscode/src/providers/editor/editor.ts | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/apps/vscode/CHANGELOG.md b/apps/vscode/CHANGELOG.md index cc090140..cfce78e4 100644 --- a/apps/vscode/CHANGELOG.md +++ b/apps/vscode/CHANGELOG.md @@ -2,7 +2,7 @@ ## 1.119.0 (unreleased) -- Use `CI=true` or `QUARTO_VISUAL_EDITOR_CONFIRMED=true` to bypass the Visual Editor confirmation dialogue (). +- Use `QUARTO_VISUAL_EDITOR_CONFIRMED` > `PW_TEST` > `CI` to bypass (`true`) or force (`false`) the Visual Editor confirmation dialogue (). ## 1.118.0 (Release on 2024-11-26) diff --git a/apps/vscode/src/providers/editor/editor.ts b/apps/vscode/src/providers/editor/editor.ts index 64c242f4..1984d691 100644 --- a/apps/vscode/src/providers/editor/editor.ts +++ b/apps/vscode/src/providers/editor/editor.ts @@ -327,9 +327,22 @@ export class VisualEditorProvider implements CustomTextEditorProvider { // prompt the user const kVisualModeConfirmed = "visualModeConfirmed"; - if (process.env.CI === "true" || process.env.QUARTO_VISUAL_EDITOR_CONFIRMED === "true") { - this.context.globalState.update(kVisualModeConfirmed, true); - } + + // Check for environment variables to force the state of the visual editor confirmation modal + // QUARTO_VISUAL_EDITOR_CONFIRMED > PW_TEST > CI + const envVars = [ + "CI", + "PW_TEST", + "QUARTO_VISUAL_EDITOR_CONFIRMED" + ]; + envVars.forEach(envVar => { + console.log(`Checking for environment variable: ${envVar}`); + if (process.env[envVar] !== undefined) { + console.log(`Setting visual mode confirmation to ${process.env[envVar] === "true"}`); + this.context.globalState.update(kVisualModeConfirmed, process.env[envVar] === "true"); + } + }); + if (this.context.globalState.get(kVisualModeConfirmed) !== true) { const kUseVisualMode = "Use Visual Mode"; const kLearnMore = "Learn More...";