Skip to content

alexmozaidze/palenight.nvim

Repository files navigation

palenight.nvim

palenight.nvim

Note

This is a maintained hard fork of drewtempelmeyer/palenight.vim.

Dark palenight colorscheme written in Fennel with full support for:

  • Tree-sitter
  • LSP (including semantic highlighting)
  • True-color, 256 and 16 color palette terminals
  • GUIs (like Neovide)
  • And lots of plugins!

Requirements

Neovim >=0.8, though, latest one is recommended.

Installation

Lazy
{ "alexmozaidze/palenight.nvim" }
Packer
use "alexmozaidze/palenight.nvim"

Usage

vim.cmd.colorscheme "palenight"

Setup options

Note

Setup is completely optional, you only need it to set options. Plugin loads by itself when you set the colorscheme.

Here are the default options:

{
   -- Some terminals don't display italics very well,
   -- thus, they're disabled by default.
   italic = false,

   -- Fallback color palette for non-truecolor terminals,
   -- such as tty or some really old terminal.
   --
   -- Available options:
   -- "auto" => 16 color palette if in linux tty, 256 otherwise.
   -- 256    => 256 color palette.
   -- 16     => 16 color palette.
   cterm_palette = "auto",
}

Plugin support

Many plugins are supported, including:

For full list of supported plugins, see groups.fnl.

If you have a plugin that isn't supported, feel free to file an issue or make a pull request.

Overriding colors

Overriding colors
local colors = require "palenight/colors/truecolor"
local hl = vim.api.nvim_set_hl
local autocmd = vim.api.nvim_create_autocmd

autocmd("ColorScheme", {
   pattern = "palenight",
   callback = function()
      -- Directly setting a color
      hl(0, "Operator", { fg = colors.purple })
      -- Linking to another highlight group
      hl(0, "Operator", { link = "Macro" })
   end,
})

For list of available colors check out colors/truecolor.fnl.
Also check out :help nvim_set_hl() and :help nvim_create_autocmd().

Overriding internal colors and groups
{
   "alexmozaidze/palenight.nvim",
   init = function()
      -- WARN: The order in which you require these modules is important.
      --       Require and set the colors before requiring groups.

      -- Changing internal colors
      local colors = require "palenight/colors/truecolor"
      colors.comment = "#ff00ff"
      -- Changing internal group table
      local groups = require "palenight/groups"
      groups["@function"].fg = "#ff0000"
   end,
}

Transparency

Use xiyaowong/transparent.nvim

or...

If you want to do transparency yourself, you can override the Normal color to be cleared. However, keep in mind that xiyaowong/transparent.nvim is more convenient and is more complete. It covers more highlight colors and has commands to toggle transparency.

Manual transparency example
{
   "alexmozaidze/palenight.nvim",
   init = function()
      local groups = require "palenight/groups"
      groups["Normal"] = { ctermbg = "none", ctermfg = "none", fg = "none", bg = "none" }
   end,
}

Questions? Need help?

If you need help with the plugin you can ask any questions on discussions.

About

Palenight colorscheme for NeoVim written in Fennel.

Topics

Resources

License

Contributing

Stars

Watchers

Forks