Dark and Light Themes for neovim >= 0.5 based on onedark.nvim theme written in lua with TreeSitter syntax highlight.
For latest TreeSitter syntax highlight, upgraded to NeoVim 0.8.0 or later built with tree-sitter 0.20.3+
- Light, and Dark variants set by the 'background' option.
Install via your favourite package manager
" Using Vim-Plug
Plug 'sobh/caironoon.nvim'
-- Using Packer
use 'sobh/caironoon.nvim'
-- Lua
require('caironoon').load()
" Vim
colorscheme caironoon
-- Lua
require('caironoon').setup {
-- Main options --
transparent = false, -- don't set background
term_colors = true, -- if true enable the terminal
ending_tildes = false, -- show the end-of-buffer tildes
cmp_itemkind_reverse = false, -- reverse item kind highlights in cmp menu
-- Changing Formats --
code_style = {
comments = 'none',
keywords = 'italic',
functions = 'bold',
strings = 'none',
variables = 'none'
},
-- Lualine options --
lualine = {
transparent = false, -- center bar (c) transparency
},
-- Custom Highlights --
colors = {}, -- Override default colors
highlights = {}, -- Override highlight groups
-- Plugins Related --
diagnostics = {
darker = true, -- darker colors for diagnostic
undercurl = true, -- use undercurl for diagnostics
background = true, -- use background color for virtual text
},
}
Onedark can be configured also with Vimscript, using the global dictionary g:caironoon_config
.
NOTE: when setting boolean values use v:true
and v:false
instead of 0 and 1
Example:
let g:caironoon_config = {
\ 'ending_tildes': v:true,
\ 'diagnostics': {
\ 'darker': v:false,
\ 'background': v:false,
\ },
\ }
colorscheme caironoon
Example custom colors and Highlights config
require('caironoon').setup {
colors = {
bright_orange = "#ff8800", -- define a new color
green = '#00ffaa', -- redefine an existing color
},
highlights = {
["@keyword"] = {fg = '$green'},
["@string"] = {fg = '$bright_orange', bg = '#00ff00', fmt = 'bold'},
["@function"] = {fg = '#0000ff', sp = '$cyan', fmt = 'underline,italic'},
["@function.builtin"] = {fg = '#0059ff'}
}
}
Note that TreeSitter keywords have been changed after neovim version 0.8 and onwards. TS prefix is trimmed and lowercase words should be used separated with '.'
The old way before neovim 0.8 looks like this. For all keywords see this file from line 133 to 257
require('caironoon').setup {
colors = {
bright_orange = "#ff8800", -- define a new color
green = '#00ffaa', -- redefine an existing color
},
highlights = {
TSKeyword = {fg = '$green'},
TSString = {fg = '$bright_orange', bg = '#00ff00', fmt = 'bold'},
TSFunction = {fg = '#0000ff', sp = '$cyan', fmt = 'underline,italic'},
TSFuncBuiltin = {fg = '#0059ff'}
}
}
To Enable the caironoon
theme for Lualine
, specify theme as caironoon
:
require('lualine').setup {
options = {
theme = 'caironoon'
-- ... your lualine config
}
}
- TreeSitter
- LSPDiagnostics
- NvimTree
- Telescope
- WhichKey
- Dashboard
- Lualine
- GitGutter
- GitSigns
- VimFugitive
- DiffView
- Hop
- Mini
- Neo-tree
- Neotest
- Barbecue
- IndentBlankline
Pull requests are welcome 🎉👍.