aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/util.lua
diff options
context:
space:
mode:
authorglepnir <glephunter@gmail.com>2025-03-19 05:05:35 +0800
committerGitHub <noreply@github.com>2025-03-18 16:05:35 -0500
commit62d9fab9af21323e42828748e6761c02020a7aa5 (patch)
treec92c1fc3e5fd4e25850b5b7f7e0b617c0b322421 /runtime/lua/vim/lsp/util.lua
parenteefd72fff753e923abf88ac85b1de0859cf24635 (diff)
downloadrneovim-62d9fab9af21323e42828748e6761c02020a7aa5.tar.gz
rneovim-62d9fab9af21323e42828748e6761c02020a7aa5.tar.bz2
rneovim-62d9fab9af21323e42828748e6761c02020a7aa5.zip
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 <greg@gpanders.com>
Diffstat (limited to 'runtime/lua/vim/lsp/util.lua')
-rw-r--r--runtime/lua/vim/lsp/util.lua19
1 files changed, 6 insertions, 13 deletions
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,