Theme compatibility with neovim's lsp
jonleopard opened this issue · 3 comments
So I'm not sure if base16 is fully functional with neovim's LSP colors? The 'E' should be red and other signs such as warnings come in white as well (they should orange). Curiously, the helper ('H') sign comes in correctly:
I've tried using this tool but that didn't change anything. This is likely due to the fact that I'm using the full suite of base16 tools (shell, vim, tmux, etc...) and the lsp calls for colors that base16 hasn't defined. Would using base17 solve this? If so, how does one use base17 themes instead of base16? If you need any extra details, I would be happy to provide them!
Lastly, I've been using base16 for many years now and appreciate the direction you are taking it! The recent hooks implementation and other QoL improvements have been great, so thanks for that!
If we're missing some colors, I think the best bit would be to contribute to https://github.com/tinted-theming/base16-vim. We'd be happy to merge LSP improvements.
Base17 is currently only an idea and we're still deciding what direction we want to go with that, so I'll transfer this issue to the base16-vim repo.
Ah, wait, I misunderstood some of this - you're asking about additional colors. That, we're not sure what to do about yet because it would involve potentially dropping support for terminal color schemes, or providing a completely different color scheme for terminal vs gui. I'll move this back to the home repo.
Yes, base17 is one of the ideas we've got for this, but it's not fully fleshed out yet and we haven't had the time to work on it much over the last few months.
Thanks for the feedback! Out of curiosity, does base16 even use termguicolors
when set? I'm curious because the values get applied when ctermfg
is set, and not guifg
.
This will get me by until base17 is released: cmd("hi ErrorSign ctermfg=Red guifg=Red")
colors.lua
local fn = vim.fn
local cmd = vim.cmd
local set_theme_path = "$HOME/.config/tinted-theming/set_theme.lua"
local is_set_theme_file_readable = fn.filereadable(fn.expand(set_theme_path)) == 1 and true or false
if is_set_theme_file_readable then
cmd("let base16colorspace=256")
cmd("source " .. set_theme_path)
cmd("hi ErrorSign ctermfg=Red guifg=Red")
end
:hi
will list the color assignments, which helped me to pinpoint which color I needed to manually change
Will close this now as I've found a decent temporary solution.