From 9c00cf9eeb677e8aec8602943d5c3782cb1d8332 Mon Sep 17 00:00:00 2001 From: frelodev Date: Wed, 2 Oct 2024 23:42:09 +0200 Subject: [PATCH] feat: detach Co-authored-by: alemi --- package.json | 6 ++++++ src/commands/buffers.ts | 3 ++- src/extension.ts | 3 ++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 2dc490d..f195d64 100644 --- a/package.json +++ b/package.json @@ -156,6 +156,12 @@ "category": "codemp", "icon": "$(output-view-icon)" }, + { + "command": "codemp.detach", + "title": "Detach from Buffer", + "category": "codemp", + "icon": "$(arrow-down)" + }, { "command": "codemp.sync", "title": "Sync", diff --git a/src/commands/buffers.ts b/src/commands/buffers.ts index f799fa9..5c9a9b3 100644 --- a/src/commands/buffers.ts +++ b/src/commands/buffers.ts @@ -173,7 +173,7 @@ export async function detach(selected: vscode.TreeItem | undefined) { buffer_name = selected.label.label; // TODO ughh what is this api? } } else { - buffer_name = await vscode.window.showInputBox({ prompt: "path of buffer to attach to" }); + buffer_name = await vscode.window.showInputBox({ prompt: "path of buffer to detach from" }); } if (!buffer_name) return; let controller = workspace.buffer_by_name(buffer_name); @@ -181,6 +181,7 @@ export async function detach(selected: vscode.TreeItem | undefined) { workspace.detach(buffer_name); mapping.bufferMapper.remove(buffer_name); vscode.window.showInformationMessage(`Detached from buffer ${buffer_name}`) + provider.refresh(); } diff --git a/src/extension.ts b/src/extension.ts index f1a6d1c..6ed72db 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -4,7 +4,7 @@ import { client, connect, join, refresh, createWorkspace, inviteToWorkspace, lis import { CodempTreeProvider } from './tree'; import * as mapping from './mapping'; import { workspace, jump, listBuffers, createBuffer } from './commands/workspaces' -import { attach, share, sync, apply_changes_to_buffer } from './commands/buffers' +import { attach, share, sync, apply_changes_to_buffer, detach } from './commands/buffers' export let provider = new CodempTreeProvider(); @@ -41,6 +41,7 @@ export function activate(context: vscode.ExtensionContext) { vscode.commands.registerCommand('codemp.leaveWorkspace', leaveWorkspace), vscode.commands.registerCommand('codemp.createBuffer', createBuffer), vscode.commands.registerCommand('codemp.listBuffers', listBuffers), + vscode.commands.registerCommand('codemp.detach', detach), vscode.commands.registerCommand('codemp.sync', sync), vscode.commands.registerCommand('codemp.refresh', refresh), vscode.commands.registerCommand('codemp.jump', jump),