From 8273e5020b7890732ea4d2459f16a2e484bd7263 Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Thu, 5 Oct 2023 17:23:35 +0200 Subject: [PATCH] feat: Add poc for writing into cell --- lua/easytables/init.lua | 1 + lua/easytables/window.lua | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/lua/easytables/init.lua b/lua/easytables/init.lua index e02f3f1..8e9ad77 100644 --- a/lua/easytables/init.lua +++ b/lua/easytables/init.lua @@ -62,6 +62,7 @@ local function a() window:show() window:draw_table(own_table) + window:register_listeners(own_table) end return { diff --git a/lua/easytables/window.lua b/lua/easytables/window.lua index 3182a7e..cbadf51 100644 --- a/lua/easytables/window.lua +++ b/lua/easytables/window.lua @@ -88,8 +88,6 @@ function M:_draw_highlight(table) local row = 1 + math.max(0, cell.row - 1) * 2 local cell_start, cell_end = table:get_cell_positions(cell.col, cell.row, self.min_value_width) - print(cell_start, cell_end, row) - vim.api.nvim_buf_set_extmark( self.preview_buffer, vim.api.nvim_create_namespace("easytables"), @@ -133,4 +131,19 @@ function M:draw_table(table) self:_draw_highlight(table) end +function M:register_listeners(table) + vim.api.nvim_buf_attach(self.prompt_buffer, false, { + on_lines = function(_, handle) + local lines = vim.api.nvim_buf_get_lines(handle, 0, -1, false) + + vim.schedule(function() + local selected_cell = table:get_highlighted_cell() + + table:insert(selected_cell.col, selected_cell.row, lines[1]) + self:draw_table(table) + end) + end, + }) +end + return M