From 8561c99d9a3e547620aacbf67b77a878120701f6 Mon Sep 17 00:00:00 2001 From: Gorbit99 Date: Fri, 3 Apr 2026 08:07:33 +0200 Subject: [PATCH 1/2] Use terminal index if not in sidewin --- lua/floaterm/api.lua | 4 ++++ lua/floaterm/utils.lua | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/lua/floaterm/api.lua b/lua/floaterm/api.lua index 387bfa4..4dc5352 100644 --- a/lua/floaterm/api.lua +++ b/lua/floaterm/api.lua @@ -6,6 +6,10 @@ local M = {} M.edit_name = function() local row = utils.get_buf_on_cursor() + if row == nil then + row = utils.get_term_by_key(state.buf)[1] + end + if row then vim.ui.input({ prompt = "  Enter name: " }, function(input) state.terminals[row].name = input diff --git a/lua/floaterm/utils.lua b/lua/floaterm/utils.lua index a5db29b..c50c489 100644 --- a/lua/floaterm/utils.lua +++ b/lua/floaterm/utils.lua @@ -116,6 +116,10 @@ M.get_term_by_key = function(tocompare, name) end M.get_buf_on_cursor = function() + local curwin = vim.api.nvim_get_current_win() + if curwin ~= state.sidewin then + return nil + end local row = vim.api.nvim_win_get_cursor(0)[1] if not state.terminals[row] then From e5f92ddb2792f8ab3a4bd5679b407b6afd423d2f Mon Sep 17 00:00:00 2001 From: Gorbit99 Date: Fri, 3 Apr 2026 08:12:22 +0200 Subject: [PATCH 2/2] Add helper and rewrite delete logic --- lua/floaterm/api.lua | 8 ++------ lua/floaterm/utils.lua | 6 ++++++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/lua/floaterm/api.lua b/lua/floaterm/api.lua index 4dc5352..8ec0ec6 100644 --- a/lua/floaterm/api.lua +++ b/lua/floaterm/api.lua @@ -4,11 +4,7 @@ local volt_redraw = require("volt").redraw local M = {} M.edit_name = function() - local row = utils.get_buf_on_cursor() - - if row == nil then - row = utils.get_term_by_key(state.buf)[1] - end + local row = utils.get_selected_term_index() if row then vim.ui.input({ prompt = "  Enter name: " }, function(input) @@ -67,7 +63,7 @@ M.delete_term = function(buf) local method = buf and "automatic" or "manual" if not buf then - local i = utils.get_buf_on_cursor() + local i = utils.get_selected_term_index() if i then buf = state.terminals[i].buf end diff --git a/lua/floaterm/utils.lua b/lua/floaterm/utils.lua index c50c489..aa331d6 100644 --- a/lua/floaterm/utils.lua +++ b/lua/floaterm/utils.lua @@ -130,6 +130,12 @@ M.get_buf_on_cursor = function() return row end +M.get_selected_term_index = function() + local row = M.get_buf_on_cursor() + local term = M.get_term_by_key(state.buf)[1] + return row or term +end + M.close_timers = function() state.bar_redraw_timer:stop() state.bar_redraw_timer:close()