From ca3f6f210a74fa7c524816782a5f1d2a442ae6de Mon Sep 17 00:00:00 2001 From: alemi Date: Fri, 6 Sep 2024 19:11:18 +0200 Subject: [PATCH] feat: allow creating workspaces also connecting to specific server --- lua/codemp/neo-tree/commands.lua | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/lua/codemp/neo-tree/commands.lua b/lua/codemp/neo-tree/commands.lua index 01f1aef..cd570ce 100644 --- a/lua/codemp/neo-tree/commands.lua +++ b/lua/codemp/neo-tree/commands.lua @@ -56,12 +56,24 @@ M.open = function(state, path, extra) end M.add = function(_state) - if session.workspace == nil then error("not in a workspace") end - vim.ui.input({ prompt = "name" }, function(input) - if input == nil or input == "" then return end - session.workspace:create_buffer(input):await() - manager.refresh("codemp") - end) + if session.client == nil then + vim.ui.input({ prompt = "server address" }, function(input) + if input == nil or input == "" then return end + client_manager.connect(input) + end) + elseif session.workspace == nil then + vim.ui.input({ prompt = "workspace name" }, function(input) + if input == nil or input == "" then return end + session.client:create_workspace(input):await() + manager.refresh("codemp") + end) + else + vim.ui.input({ prompt = "buffer path" }, function(input) + if input == nil or input == "" then return end + session.workspace:create_buffer(input):await() + manager.refresh("codemp") + end) + end end cc._add_common_commands(M)