diff --git a/lua/Polydev/python.lua b/lua/Polydev/python.lua index 519d04b..ff1978b 100644 --- a/lua/Polydev/python.lua +++ b/lua/Polydev/python.lua @@ -42,35 +42,38 @@ function M.open_float_terminal(cmd) local ui = vim.api.nvim_list_uis()[1] local term_cfg = M.config.terminal - local width = math.floor(ui.width * 0.9) - term_cfg.left_padding - term_cfg.right_padding - local height = math.floor(ui.height * 0.9) - term_cfg.top_padding - term_cfg.bottom_padding - local row = math.floor((ui.height - height) / 2) + term_cfg.top_padding - local col = math.floor((ui.width - width) / 2) + term_cfg.left_padding + local width = math.max(1, math.floor(ui.width * 0.9) - term_cfg.left_padding - term_cfg.right_padding) + local height = math.max(1, math.floor(ui.height * 0.9) - term_cfg.top_padding - (term_cfg.bottom_padding + 1)) + local row = math.max(1, math.floor((ui.height - height) / 2) + term_cfg.top_padding) + local col = math.max(1, math.floor((ui.width - width) / 2) + term_cfg.left_padding) local buf = vim.api.nvim_create_buf(false, true) local win = vim.api.nvim_open_win(buf, true, { - relative = "editor", - width = width, - height = height, - row = row, - col = col, - style = "minimal", - border = term_cfg.border and "rounded" or "none", + relative = "editor", + width = width, + height = height, + row = row, + col = col, + style = "minimal", + border = term_cfg.border and "rounded" or "none", }) + vim.api.nvim_win_set_option(win, "winblend", vim.o.pumblend) + vim.api.nvim_win_set_option(win, "winhighlight", "Normal:Pmenu,FloatBorder:Pmenu") vim.api.nvim_win_set_option(win, "cursorline", true) - if term_cfg.number then - vim.api.nvim_win_set_option(win, "number", true) - if term_cfg.relativenumber then - vim.api.nvim_win_set_option(win, "relativenumber", true) - end + if(term_cfg.number == true) then + vim.api.nvim_win_set_option(win, "number", true) + if(term_cfg.relativenumber == true) then + vim.api.nvim_win_set_option(win, "relativenumber", true) + end end - if term_cfg.scroll then - vim.api.nvim_win_set_option(win, "scrolloff", 5) + if(term_cfg.scroll == true) then + vim.api.nvim_win_set_option(win, "scrolloff", 5) end vim.fn.termopen(cmd) vim.api.nvim_buf_set_keymap(buf, "n", M.close_key, "i:q", { noremap = true, silent = true }) + return buf, win end local function write_file(path, content)