Skip to content

ricardoraposo/nightwolf.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

72 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

image_logo

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
image image
Gray Dark Gray
image image
Light
image

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

Other values can be seen in synIDattr

Acknowledgements

Releases

Packages

Contributors

Languages