srcery-colors / srcery-vim

Srcery is a dark color scheme with clearly defined contrasting colors and a slightly earthy tone.
https://srcery.sh
Other
809 stars 60 forks source link

fix: define NormalFloat and FloatBorder #111

Closed roosta closed 5 months ago

roosta commented 7 months ago

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 to Pmenu, Pmenu is used for completion, and needs to be a different background color than NormalFloat, so I set NormalFloat to srcery_black

FloatBorder was linked via FloatBorder -> WinSeparator -> VertSplit which is set to bright_white, but Telescope uses white as the border color, so I define that for FloatBorder as well

call s:HL('VertSplit', s:bright_white, g:srcery_bg)
roosta commented 7 months ago

Its a draft for now, I need to make sure there's no new issues introduced

roosta commented 5 months ago

no issues detected

MindTooth commented 5 months ago

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.

Screenshot 2024-02-08 at 09 45 08

roosta commented 5 months ago

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:

image