From 62d9fab9af21323e42828748e6761c02020a7aa5 Mon Sep 17 00:00:00 2001 From: glepnir Date: Wed, 19 Mar 2025 05:05:35 +0800 Subject: feat(float): add winborder option (#31074) Problem: There is currently no global option to define the default border style for floating windows. This leads to repetitive code when developers need consistent styling across multiple floating windows. Solution: Introduce a global option winborder to specify the default border style for floating windows. When a floating window is created without explicitly specifying a border style, the value of the winborder option will be used. This simplifies configuration and ensures consistency in floating window appearance. Co-authored-by: Gregory Anders --- runtime/lua/vim/lsp/util.lua | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) (limited to 'runtime/lua/vim/lsp/util.lua') diff --git a/runtime/lua/vim/lsp/util.lua b/runtime/lua/vim/lsp/util.lua index 056cb0c73c..d8a6a70ccd 100644 --- a/runtime/lua/vim/lsp/util.lua +++ b/runtime/lua/vim/lsp/util.lua @@ -6,17 +6,6 @@ local uv = vim.uv local M = {} -local default_border = { - { '', 'NormalFloat' }, - { '', 'NormalFloat' }, - { '', 'NormalFloat' }, - { ' ', 'NormalFloat' }, - { '', 'NormalFloat' }, - { '', 'NormalFloat' }, - { '', 'NormalFloat' }, - { ' ', 'NormalFloat' }, -} - --- @param border string|(string|[string,string])[] local function border_error(border) error( @@ -43,7 +32,11 @@ local border_size = { --- @return integer height --- @return integer width local function get_border_size(opts) - local border = opts and opts.border or default_border + local border = opts and opts.border or vim.o.winborder + + if border == '' then + border = 'none' + end if type(border) == 'string' then if not border_size[border] then @@ -884,7 +877,7 @@ function M.make_floating_popup_options(width, height, opts) or 'cursor', style = 'minimal', width = width, - border = opts.border or default_border, + border = opts.border, zindex = opts.zindex or (api.nvim_win_get_config(0).zindex or 49) + 1, title = title, title_pos = title_pos, -- cgit