๐บ Neovim theme based of nightwolf
Nightwolf
Lua port of the Nightwolf VS** theme for Neovim with Treesitter support!
I mainly code in Typescript and Rust, so there might be a few highlight groups that were not set yet. I also use treesitter, so I'm not making an active effort on supporting the theme to work without it. Therefore, PR's are more than welcome.
| Black | Dark Blue |
|---|---|
|
|
|
| Gray | Dark Gray |
|
|
|
| Light | |
|
|
Custom themes
Make your own themes!!! Here are some inspirations
Installation
Lazy
{
"ricardoraposo/nightwolf.nvim",
lazy = false,
priority = 1000,
opts = {},
}
Packer
use ("ricardoraposo/nightwolf.nvim")
Usage
Vim Script
" Dark theme
set background=dark
colorscheme nightwolf
" Light theme set background=light colorscheme nightwolf
Lua
-- Dark theme
vim.opt.background = 'dark'
vim.cmd.colorscheme("nightwolf")
-- Light theme vim.opt.background = 'light' vim.cmd.colorscheme("nightwolf")
Configuration
Additional settings for nightwolf are:
-- Default options:
{
theme = 'black', -- 'black', 'dark-blue', 'gray', 'dark-gray', 'light'
italic = true,
transparency = false,
palette_overrides = {},
highlight_overrides = {},
}
VERY IMPORTANT: Make sure to call setup() BEFORE calling the colorscheme command, to use your custom configs
Overriding
Palette
You can specify your own palette colors. For example:
require('nightwolf').setup {
palette_overrides = {
background = "#ff0000",
darkYellow = '#ffa500',
}
}
Check below for valid entries:
background = '#000000',
black = '#000000',
red = '#f05050',
white = '#ffffff',
blue = '#00b1ff',
lightPurple = '#dc8cff',
darkPurple = '#9696ff',
cyan = '#00dcdc',
lightYellow = '#ffdc96',
darkYellow = '#ffb482',
green = '#aae682',
lightRed = '#ff7878',
muted = '#c8c8c8',
comment = '#647882',
color12 = '#969696',
color14 = '#141414',
color15 = '#161b10',
color16 = '#230c0b',
color17 = '#343434',
color18 = '#3c3c3c',
color19 = '#787878',
obs.: I'm not the most creative, feel free to suggest better naming for those colors
Highlight groups
If you don't enjoy the current color for a specific highlight group, now you can just override it in the setup. For example:
require('nightwolf').setup {
highlight_overrides = {
SignColumn = { bg = "#ff9900" }
}
}
It also works with treesitter groups and lsp semantic highlight tokens
require('nightwolf').setup {
highlight_overrides = {
["@lsp.type.method"] = { bg = "#ff9900" },
["@comment.lua"] = { bg = "#000000" },
}
}
Please note that the override values must follow the attributes from the highlight group map, such as:
- fg - foreground color
- bg - background color
- bold - true or false for bold font
- italic - true or false for italic font
synIDattr>)
Acknowledgements
- Mao Santaella/Nightwolf for vscode for creating the original theme
- Djanho was used to create the first highlight groups from the original vs** version