From 5611ef8b28216aa9dd2ceb6ed17d5779a29154f6 Mon Sep 17 00:00:00 2001 From: Frank Date: Mon, 21 Jul 2025 19:10:51 -0400 Subject: wip: vscode extension --- sdks/vscode/src/extension.ts | 50 ++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 25 deletions(-) (limited to 'sdks/vscode/src') diff --git a/sdks/vscode/src/extension.ts b/sdks/vscode/src/extension.ts index a183ef09a..f4daeb10b 100644 --- a/sdks/vscode/src/extension.ts +++ b/sdks/vscode/src/extension.ts @@ -1,10 +1,10 @@ // This method is called when your extension is deactivated export function deactivate() {} -import * as vscode from "vscode" +import * as vscode from "vscode"; export function activate(context: vscode.ExtensionContext) { - const TERMINAL_NAME = "opencode Terminal" + const TERMINAL_NAME = "opencode Terminal"; // Register command to open terminal in split screen and run opencode let openTerminalDisposable = vscode.commands.registerCommand("opencode.openTerminal", async () => { @@ -15,56 +15,56 @@ export function activate(context: vscode.ExtensionContext) { viewColumn: vscode.ViewColumn.Beside, preserveFocus: false, }, - }) + }); - terminal.show() - terminal.sendText("OPENCODE_THEME=system OPENCODE_CALLER=vscode opencode") - }) + terminal.show(); + terminal.sendText("OPENCODE_THEME=system OPENCODE_CALLER=vscode opencode"); + }); // Register command to add filepath to terminal let addFilepathDisposable = vscode.commands.registerCommand("opencode.addFilepathToTerminal", async () => { - const activeEditor = vscode.window.activeTextEditor + const activeEditor = vscode.window.activeTextEditor; if (!activeEditor) { - vscode.window.showInformationMessage("No active file to get path from") - return + vscode.window.showInformationMessage("No active file to get path from"); + return; } - const document = activeEditor.document - const workspaceFolder = vscode.workspace.getWorkspaceFolder(document.uri) + const document = activeEditor.document; + const workspaceFolder = vscode.workspace.getWorkspaceFolder(document.uri); if (!workspaceFolder) { - vscode.window.showInformationMessage("File is not in a workspace") - return + vscode.window.showInformationMessage("File is not in a workspace"); + return; } // Get the relative path from workspace root - const relativePath = vscode.workspace.asRelativePath(document.uri) - let filepathWithAt = `@${relativePath}` + const relativePath = vscode.workspace.asRelativePath(document.uri); + let filepathWithAt = `@${relativePath}`; // Check if there's a selection and add line numbers - const selection = activeEditor.selection + const selection = activeEditor.selection; if (!selection.isEmpty) { // Convert to 1-based line numbers - const startLine = selection.start.line + 1 - const endLine = selection.end.line + 1 + const startLine = selection.start.line + 1; + const endLine = selection.end.line + 1; if (startLine === endLine) { // Single line selection - filepathWithAt += `#L${startLine}` + filepathWithAt += `#L${startLine}`; } else { // Multi-line selection - filepathWithAt += `#L${startLine}-${endLine}` + filepathWithAt += `#L${startLine}-${endLine}`; } } // Get or create terminal - let terminal = vscode.window.activeTerminal + let terminal = vscode.window.activeTerminal; if (terminal?.name === TERMINAL_NAME) { - terminal.sendText(filepathWithAt) - terminal.show() + terminal.sendText(filepathWithAt); + terminal.show(); } - }) + }); - context.subscriptions.push(openTerminalDisposable, addFilepathDisposable) + context.subscriptions.push(openTerminalDisposable, addFilepathDisposable); } -- cgit v1.2.3