night-owl.nvim
night-owl.nvim copied to clipboard
π¦ π Night Owl colorscheme implementation for Neovim with support for Treesitter and semantic tokens
π¦ night-owl.nvim π

The best implementation of Sarah Drasner's Night Owl VSCode theme for Neovim with support for Tree-sitter and semantic tokens.
π¦ Install In Zero Time
packer.nvim
use("oxfist/night-owl.nvim")
lazy.nvim
require("lazy").setup({
"oxfist/night-owl.nvim",
lazy = false, -- make sure we load this during startup if it is your main colorscheme
priority = 1000, -- make sure to load this before all the other start plugins
config = function()
-- load the colorscheme here
vim.cmd.colorscheme("night-owl")
end,
})
vim-plug
Plug 'oxfist/night-owl.nvim'
π Start Using With A Single Line
[!NOTE] You can skip this step if you followed the
lazy.nvim
setup, since that already sets the colorscheme.
Add the following line to your Lua configuration files, e.g.
~/.config/nvim/init.lua
(your actual path might be different):
vim.cmd.colorscheme("night-owl")
Or by requiring the plugin, then calling setup()
:
require("night-owl").setup()
To enable night-owl
for lualine.nvim
, simply set the theme like this in your
settings π:
-- This Lualine config should be somewhere in your config files
require('lualine').setup {
options = {
-- ... other configs
theme = 'night-owl'
-- ... other configs
}
}
βοΈ Configuration
The styling of the theme can be customized by calling setup()
:
local night_owl = require("night-owl")
-- π Add your own personal settings here
--@param options Config|nil
night_owl.setup({
-- These are the default settings
bold = true,
italics = true,
underline = true,
undercurl = true,
transparent_background = false,
})
π₯οΈ Requirements
TODO
π Comparison
How does this port compare to the original VSCode theme? Check it out!
Original Night Owl for VSCode | This Theme π€© |
---|---|
![]() |
![]() |
β¨ Why Should You Pick This Version of Night Owl?
This implementation of Night Owl solves several syntax highlight issues and discrepancies similar ports have when comparing to the original VSCode theme.
The following features allow making the programming experience as close to the original VSCode theme as possible:
-
Extended highlight groups: through additional Treesitter queries. See
after/queries
for implementation details. -
Different background color when Neovim is inactive: through autocommands.
See
after/plugin/autocmds.lua
for implementation details.
π Click to see comparison with haishanh/night-owl.vim
With Treesitter installed you can see the overall look and feel is significantly different:
- Different colors for several keywords like
let
,const
,async
,function
, etc. Same happens for class namesEditFishForm
andSale
. - Italics not applied anywhere except for comments.
- Italics incorrectly applied to JSDoc keywords
@param
and@returns
.
haishanh/night-owl.vim | This Theme |
---|---|
![]() |
![]() |
Language Support π
![]() |
[!NOTE] I've personally optimized the colorscheme styling and robustness for these languages extensively enough to confidently say they look acceptable to me. If you happen to build software with them, then I invite you to try out this theme! π
Coming Soon: Lua β , Vimscript (in progress), TSX, R, Rust, Python, Ruby, Bash, and many more!
𧩠Plugins Supported
- nvim-treesitter
- nvim-tree
- lualine.nvim
-
indent-blankline.nvim
v2
andv3
- toggleterm.nvim
- gitsigns.nvim
π Credits
- Sarah Drasner first and foremost, for creating such a beautiful and artistic color scheme that has made, for me personally, so much more pleasurable the exhilirating act of building software.
- https://www.monolisa.dev/ for one of the sweetest programming fonts out there.
-
Christian Chiarulli for creating
colorgen-nvim
, an essential tool that helped me get started with this implementation.
Code of Conduct
-
CODE_OF_CONDUCT.md
License
-
LICENSE
Contributors
AndrΓ©s QuilodrΓ‘n |
Dominik Garcia |
Rish |
Michael Lazarski |
Denis Washington |
kmlopez-hhl |
Benson9954029 |
Silver Hong |
Sebastian Vilhelm Juhl |
Jason Sprinkle |
bendk |
GΓΆkay BΓRΓΓ |
Sean Tsai |