1515
1616import * as vscode from "vscode" ;
1717import * as path from "path" ;
18+ import { tryAcquirePositronApi } from "@posit-dev/positron" ;
1819import { MarkdownEngine } from "./markdown/engine" ;
1920import { kQuartoDocSelector } from "./core/doc" ;
2021import { activateLsp , deactivate as deactivateLsp } from "./lsp/client" ;
@@ -139,10 +140,15 @@ export async function activate(context: vscode.ExtensionContext) {
139140 * Register a listener for changes to Quarto path settings that require a restart
140141 */
141142function registerQuartoPathConfigListener ( context : vscode . ExtensionContext , outputChannel : vscode . LogOutputChannel ) {
143+ // Check if we're in Positron
144+ const isPositron = tryAcquirePositronApi ( ) ;
145+
142146 // List of settings that require restart when changed
143147 const quartoPathSettings = [
144148 "quarto.path" ,
145149 "quarto.usePipQuarto" ,
150+ ] ;
151+ const positronPathSettings = [
146152 "quarto.useBundledQuartoInPositron"
147153 ] ;
148154
@@ -151,8 +157,9 @@ function registerQuartoPathConfigListener(context: vscode.ExtensionContext, outp
151157 vscode . workspace . onDidChangeConfiguration ( event => {
152158 // Check if any of our path settings changed
153159 const requiresRestart = quartoPathSettings . some ( setting => event . affectsConfiguration ( setting ) ) ;
160+ const requiresPositronRestart = isPositron && positronPathSettings . some ( setting => event . affectsConfiguration ( setting ) ) ;
154161
155- if ( requiresRestart ) {
162+ if ( requiresRestart || requiresPositronRestart ) {
156163 outputChannel . info ( `Quarto path settings changed, restart required: ${ quartoPathSettings . filter ( setting =>
157164 event . affectsConfiguration ( setting ) ) . join ( ", " ) } `) ;
158165
0 commit comments