Closed roosta closed 5 months ago
Its a draft for now, I need to make sure there's no new issues introduced
no issues detected
I copied the following script from this:
function! BreakHabitsWindow() abort
" Define the size of the floating window
let width = 50
let height = 10
" Create the scratch buffer displayed in the floating window
let buf = nvim_create_buf(v:false, v:true)
" Get the current UI
let ui = nvim_list_uis()[0]
" Create the floating window
let opts = {'relative': 'editor',
\ 'width': width,
\ 'height': height,
\ 'col': (ui.width/2) - (width/2),
\ 'row': (ui.height/2) - (height/2),
\ 'anchor': 'NW',
\ 'style': 'minimal',
\ }
let win = nvim_open_win(buf, 1, opts)
" create the lines to draw a box
let horizontal_border = '+' . repeat('-', width - 2) . '+'
let empty_line = '|' . repeat(' ', width - 2) . '|'
let lines = flatten([horizontal_border, map(range(height-2), 'empty_line'), horizontal_border])
" set the box in the buffer
call nvim_buf_set_lines(buf, 0, -1, v:false, lines)
endfunction
To be clear, the popup should be black and the border white? There is a bug in the code that makes the example a bit broken. I'm not versed in Vimscript, so for now this should suffice.
Using the example you posted, it does look correct, I see that it's got a different background color with or without fix, and I'm uncertain which we should prefer, but if telescope and chatgpt.nvim is anything to go by it's supposed to look like this:
This brings popup windows more in line with each other. The change was prompted by
ChatGPT.nvim
plugin that use telescope as a dependency, but the borders looked off.NormalFloat
was linked toPmenu
,Pmenu
is used for completion, and needs to be a different background color than NormalFloat, so I set NormalFloat to srcery_blackFloatBorder
was linked viaFloatBorder
->WinSeparator
->VertSplit
which is set tobright_white
, but Telescope uses white as the border color, so I define that forFloatBorder
as well