From 46c6d387eec13555464e84be89d729c9e73832be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20Canouil?= <8896044+mcanouil@users.noreply.github.com> Date: Thu, 13 Feb 2025 19:02:47 +0100 Subject: [PATCH] feat: allow to skip modal prompt in CI/test environment (#654) * ci: if CI is set don't prompt for modal * chore: add changelog entry * chore: add pr id to changelog entry * fix: add `QUARTO_VISUAL_EDITOR_CONFIRMED=true` * fix: add more levels of control for the modal * chore: cleanup log --- apps/vscode/CHANGELOG.md | 2 ++ apps/vscode/src/providers/editor/editor.ts | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/apps/vscode/CHANGELOG.md b/apps/vscode/CHANGELOG.md index caa9c8cb..cfce78e4 100644 --- a/apps/vscode/CHANGELOG.md +++ b/apps/vscode/CHANGELOG.md @@ -2,6 +2,8 @@ ## 1.119.0 (unreleased) +- 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) - Provide F1 help at cursor in Positron () diff --git a/apps/vscode/src/providers/editor/editor.ts b/apps/vscode/src/providers/editor/editor.ts index fffbd6f4..3123ff82 100644 --- a/apps/vscode/src/providers/editor/editor.ts +++ b/apps/vscode/src/providers/editor/editor.ts @@ -327,6 +327,20 @@ export class VisualEditorProvider implements CustomTextEditorProvider { // prompt the user const kVisualModeConfirmed = "visualModeConfirmed"; + + // 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 => { + if (process.env[envVar] !== undefined) { + 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...";