Skip to content

Commit 06678d5

Browse files
juliasilgejjallaire
authored andcommitted
Check for new Quarto version for R pkg support
1 parent f0d4538 commit 06678d5

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

apps/vscode/src/providers/preview/preview.ts

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -377,8 +377,8 @@ class PreviewManager {
377377
}
378378

379379
private usesQuartoServeCommand(doc?: TextDocument) {
380-
return isQuartoShinyKnitrDoc(this.engine_, doc) ||
381-
(isQuartoShinyDoc(this.engine_, doc) && semver.lte(this.quartoContext_.version, "1.4.414"));
380+
return isQuartoShinyKnitrDoc(this.engine_, doc) ||
381+
(isQuartoShinyDoc(this.engine_, doc) && semver.lte(this.quartoContext_.version, "1.4.414"));
382382
}
383383

384384
private previewRenderRequest(doc: TextDocument, format: string | null) {
@@ -414,7 +414,7 @@ class PreviewManager {
414414
}
415415

416416
private async killPreview() {
417-
await killTerminal(kPreviewWindowTitle, async () => await this.previewTerminateRequest());
417+
await killTerminal(kPreviewWindowTitle, async () => await this.previewTerminateRequest());
418418
this.progressDismiss();
419419
this.progressCancellationToken_ = undefined;
420420
}
@@ -466,7 +466,7 @@ class PreviewManager {
466466

467467
// create base terminal command
468468
const cmd = terminalCommand(useServeCommand ? "serve" : "preview", this.quartoContext_, target);
469-
469+
470470
// extra args for normal docs
471471
if (!useServeCommand) {
472472
if (!doc) {
@@ -483,8 +483,17 @@ class PreviewManager {
483483

484484
// use temp output-dir for R package
485485
if (isRPackageWorkspace && this.previewRPackageDirConfig()) {
486-
cmd.push("--output-dir", tmp.dirSync().name);
487-
cmd.push("--embed-resources");
486+
const rPkgRequiredVersion = "1.5.39";
487+
if (semver.gte(this.quartoContext_.version, rPkgRequiredVersion)) {
488+
cmd.push("--output-dir", tmp.dirSync().name);
489+
cmd.push("--embed-resources");
490+
} else {
491+
window.showWarningMessage(
492+
`Rendering requires Quarto version ${rPkgRequiredVersion} or greater`,
493+
{ modal: true }
494+
);
495+
return;
496+
}
488497
}
489498

490499
// send terminal command
@@ -698,7 +707,7 @@ class PreviewManager {
698707
}
699708

700709
private zoomLevel(uri?: Uri) {
701-
if (uri === undefined ||isHtmlContent(uri.toString())) {
710+
if (uri === undefined || isHtmlContent(uri.toString())) {
702711
return this.webviewManager_.getZoomLevelConfig();
703712
} else {
704713
return undefined;

0 commit comments

Comments
 (0)