floatterm width ceiling

pull/70/head
ray-x 2 years ago
parent 88ef38d88b
commit 310339cbc5

@ -20,8 +20,8 @@ The plugin covers most features required for a gopher.
- CodeLens : gopls codelens and codelens action support
- Comments: Add autodocument for your package/function/struct/interface. This feature is unique and can help you suppress golint
errors...
Go to alternative go file (between test and source)
Test with ginkgo, richgo inside floaterm (to enable floaterm, guihua.lua has to be installed)
- Go to alternative go file (between test and source)
- Test with ginkgo, richgo inside floaterm (to enable floaterm, guihua.lua has to be installed)
## Installation

@ -1,17 +1,17 @@
local utils = require 'go.utils'
local utils = require("go.utils")
local api = vim.api
local guihua_term = utils.load_plugin('guihua.lua', 'guihua.floating')
local guihua_term = utils.load_plugin("guihua.lua", "guihua.floating")
if not guihua_term then
utils.warn('guihua not installed, please install ray-x/guihua.lua for GUI functions')
utils.warn("guihua not installed, please install ray-x/guihua.lua for GUI functions")
end
local function close_float_terminal()
local has_var, float_term_win = pcall(api.nvim_buf_get_var, 0, 'go_float_terminal_win')
local has_var, float_term_win = pcall(api.nvim_buf_get_var, 0, "go_float_terminal_win")
if not has_var then
return
end
if float_term_win[1] ~= nil and api.nvim_buf_is_valid(float_term_win[1]) then
api.nvim_buf_delete(float_term_win[1], {force = true})
api.nvim_buf_delete(float_term_win[1], { force = true })
end
if float_term_win[2] ~= nil and api.nvim_win_is_valid(float_term_win[2]) then
api.nvim_win_close(float_term_win[2], true)
@ -19,15 +19,15 @@ local function close_float_terminal()
end
local term = function(opts)
local columns = api.nvim_get_option("columns")
local lines = api.nvim_get_option("lines")
local win_width, win_height
if columns > 130 then
if columns > 140 then
-- split in right
win_height = math.ceil(lines * 0.98)
win_width = math.ceil(columns * 0.3)
win_width = math.max(70, win_width)
opts.y = win_height
opts.x = columns - win_width
@ -40,17 +40,16 @@ local term = function(opts)
end
opts.win_height = opts.win_height or win_height
opts.win_width = opts.win_width or win_width
opts.border = opts.border or 'single'
opts.border = opts.border or "single"
if opts.autoclose == nil then
opts.autoclose = true
end
local buf, win, closer = guihua_term.floating_term(opts)
api.nvim_command('setlocal nobuflisted')
api.nvim_buf_set_var(buf, 'go_float_terminal_win', {buf, win})
api.nvim_command("setlocal nobuflisted")
api.nvim_buf_set_var(buf, "go_float_terminal_win", { buf, win })
return buf, win, closer
end
-- term({cmd = 'echo abddeefsfsafd', autoclose = false})
return {run = term, close = close_float_terminal}
return { run = term, close = close_float_terminal }

Loading…
Cancel
Save