From 709f7b83435e48dea8cd5f905c2f69c2cf5fbc93 Mon Sep 17 00:00:00 2001 From: Brett Saviano Date: Tue, 16 Sep 2025 08:59:31 -0400 Subject: [PATCH] Allow opening low-code editors from read-only file systems --- src/providers/LowCodeEditorProvider.ts | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/providers/LowCodeEditorProvider.ts b/src/providers/LowCodeEditorProvider.ts index 5d274cf3..49cf9617 100644 --- a/src/providers/LowCodeEditorProvider.ts +++ b/src/providers/LowCodeEditorProvider.ts @@ -19,11 +19,7 @@ export class LowCodeEditorProvider implements vscode.CustomTextEditorProvider { .then(() => vscode.commands.executeCommand("workbench.action.reopenTextEditor")); } - async resolveCustomTextEditor( - document: vscode.TextDocument, - webviewPanel: vscode.WebviewPanel, - token: vscode.CancellationToken - ): Promise { + async resolveCustomTextEditor(document: vscode.TextDocument, webviewPanel: vscode.WebviewPanel): Promise { // Check that document is a clean, well-formed class if (document.languageId != clsLangId) { return this._errorMessage(`${document.fileName} is not a class.`); @@ -38,12 +34,11 @@ export class LowCodeEditorProvider implements vscode.CustomTextEditorProvider { if (!file) { return this._errorMessage(`${document.fileName} is a malformed class definition.`); } - if (!vscode.workspace.fs.isWritableFileSystem(document.uri.scheme)) { + const api = new AtelierAPI(document.uri); + if (!vscode.workspace.fs.isWritableFileSystem(document.uri.scheme) && lt(api.config.serverVersion, "2025.3.0")) { return this._errorMessage(`File system '${document.uri.scheme}' is read-only.`); } - const className = file.name.slice(0, -4); - const api = new AtelierAPI(document.uri); if (!api.active) { return this._errorMessage("Server connection is not active."); } @@ -108,7 +103,7 @@ export class LowCodeEditorProvider implements vscode.CustomTextEditorProvider {
-