rakr / vim-one

Adaptation of one-light and one-dark colorschemes for Vim
MIT License
1.98k stars 196 forks source link

Remove hardcoded terminal colors #104

Closed kdheepak closed 3 years ago

kdheepak commented 4 years ago

With this PR https://github.com/neovim/neovim/pull/10994, it is no longer necessary to hard code terminal colors for base 16 and neovim will handle it correctly. This PR has been merged and will be available in the next release of neovim.

I ran into this issue because I was using the light theme, and the terminal colors hardcoded here appear to correspond to the dark theme. With the one light theme, the terminal colors do not match that of a terminal outside neovim. For an immediate fix to work with a stable version of neovim, you can hard code values for both light and dark theme separately.

dkarter commented 3 years ago

@kdheepak @rakr This PR broke the colors in my NeoVim terminal and FZF

I am running Neovim v0.4.4 which was released Aug 7, 2020 so probably containing said change and these hardcoded color values are still necessary.

CleanShot 2020-12-16 at 21 06 49@2x

After adding back the hardcoded values that were removed in this PR into my vimrc it looks correct again:

image

Am I missing something or was there some incorrect assumption with this PR?

kdheepak commented 3 years ago

Can you try adding :set termguicolors to your vimrc file? Also, what are the colors of fzf outside of neovim in a regular terminal.

I believe this change is required to ensure that when using vim-one as a theme, the colors inside neovim's terminal match the terminal emulator color scheme or theme.

You can always manually set what was removed as part of this PR in your vimrc to force the terminal to use a certain color scheme. Alternatively, I believe you can even use these colors just for the terminal that is launched to run fzf.

kdheepak commented 3 years ago

Maybe the correct thing to do is something like this:

if has("nvim-0.5.0") && &termguicolors && nvim_list_uis()[0]['ext_termcolors']
  " Do not set g:terminal_colors
else
  " Do set g:terminal_colors
endif

for backward compatibility purposes.

kdheepak commented 3 years ago

@dkarter I see you are using neovim 0.4.x. This change is for neovim 0.5.

@rakr apologies for confusion. Do you have suggestions on how to handle this?

Shatur commented 3 years ago

I am running Neovim v0.4.4 which was released Aug 7, 2020 so probably containing said change and these hardcoded color values are still necessary.

I have latest neovim 0.5 with the same issue.

lygamac commented 3 years ago

@kdheepak are you using a terminal with one-light theme? As far as I understood, neovim/neovim#10994 allows neovim's terminal to use the color of the terminal you are using, not neovim's colorscheme.

I am using light theme too, no problem on my Arch with properly configured terminal. But I have to use neovim-qt in Windows which uses a light-yellow instead, I can see nothing with it :)