From 9d7aeb398b395beb521a679947e1a2457d80eb5a Mon Sep 17 00:00:00 2001 From: Miles Murgaw Date: Sun, 4 Jun 2023 21:40:52 -0400 Subject: [PATCH] fix: vscode extension autofmt --- extension/src/main.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/extension/src/main.ts b/extension/src/main.ts index e9580d3bb..adaed0a7d 100644 --- a/extension/src/main.ts +++ b/extension/src/main.ts @@ -136,28 +136,26 @@ function fmtDocument(document: vscode.TextDocument) { const [editor,] = vscode.window.visibleTextEditors.filter(editor => editor.document.fileName === document.fileName); if (!editor) return; // Need an editor to apply text edits. - const text = document.getText(); const fileDir = document.fileName.slice(0, document.fileName.lastIndexOf('\\')); - - const child_proc = spawn(serverPath, ["fmt", "--file", text], { + const child_proc = spawn(serverPath, ["fmt", "--file", document.fileName], { cwd: fileDir ? fileDir : undefined, }); let result = ''; child_proc.stdout?.on('data', data => result += data); - type RsxEdit = { + /*type RsxEdit = { formatted: string, start: number, end: number - } + }*/ child_proc.on('close', () => { if (child_proc.exitCode !== 0) { vscode.window.showWarningMessage(`Errors occurred while formatting. Make sure you have the most recent Dioxus-CLI installed!\nDioxus-CLI exited with exit code ${child_proc.exitCode}\n\nData from Dioxus-CLI:\n${result}`); return; } - if (result.length === 0) return; + /*if (result.length === 0) return; // Used for error message: const originalResult = result; @@ -245,9 +243,10 @@ function fmtDocument(document: vscode.TextDocument) { undoStopAfter: false, undoStopBefore: false }); + } catch (err) { vscode.window.showWarningMessage(`Errors occurred while formatting. Make sure you have the most recent Dioxus-CLI installed!\n${err}\n\nData from Dioxus-CLI:\n${originalResult}`); - } + }*/ }); child_proc.on('error', (err) => { @@ -259,6 +258,7 @@ function fmtDocument(document: vscode.TextDocument) { } + // I'm using the approach defined in rust-analyzer here // // We ship the server as part of the extension, but we need to handle external paths and such