Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: define NormalFloat and FloatBorder #111

Merged
merged 1 commit into from
Feb 8, 2024
Merged

fix: define NormalFloat and FloatBorder #111

merged 1 commit into from
Feb 8, 2024

Conversation

roosta
Copy link
Member

@roosta roosta commented Dec 21, 2023

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
Copy link
Member Author

roosta commented Dec 21, 2023

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

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

```viml
call s:HL('VertSplit', s:bright_white, g:srcery_bg)
```
@roosta roosta marked this pull request as ready for review February 7, 2024 15:01
@roosta roosta requested a review from MindTooth February 7, 2024 15:02
@roosta
Copy link
Member Author

roosta commented Feb 7, 2024

no issues detected

@MindTooth
Copy link
Member

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
Copy link
Member Author

roosta commented Feb 8, 2024

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

@roosta roosta merged commit 2e9b1d4 into master Feb 8, 2024
1 check passed
@roosta roosta deleted the fix/float branch February 8, 2024 13:56
@roosta roosta mentioned this pull request May 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants