Skip to content

A sublime Neovim colorscheme, immerse in twilight hues for enhanced focus and creativity

License

Notifications You must be signed in to change notification settings

2giosangmitom/nightfall.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŒ† Nightfall.nvim

Nightfall.nvim is a meticulously crafted Neovim colorscheme designed to enhance your coding experience. It offers a clean and minimalist design with multiple flavors to match your coding style. Nightfall.nvim also focuses on reducing eye strain and integrates seamlessly with major plugins.

Stars Last commit Forks Issues Repo size LICENSE

Nightfall Deeper Night Maron
nightfall demo deepernight demo maron demo

✨ Features

  • ⚑️ Automatic caching ensures faster load times.
  • 🌲 Comprehensive support for the nvim-treesitter syntax highlighting plugin.
  • 🎟️ Seamlessly integrates with LSP semantic tokens (requires Neovim 0.9 or later).
  • 🧩 Extensive support for many popular plugins, enhancing your Neovim experience.
  • πŸ–ŒοΈ Extensive customization options to personalize your experience.
  • 🏡 Reduced eye strain for extended coding sessions.
  • πŸͺ Match your coding style with multiple flavors.
  • πŸ— Improved code readability with a clean and minimalist design.

🎨 Flavors

Nightfall.nvim offers multiple themes to suit your coding style:

  • Nightfall: A dark and vibrant variation inspired by the Dracula theme.
  • Deeper Night: A more intense dark theme for those who prefer a starker contrast.
  • Maron: A warm, brown-tinged dark theme, offering a softer feel for extended coding sessions.

πŸš€ Installation

Install Nightfall.nvim using your preferred Neovim plugin manager.

{
  "2giosangmitom/nightfall.nvim",
  lazy = false,
  priority = 1000,
  opts = {},
}

For detailed documentation, use :h nightfall.nvim in Neovim.

πŸ–‹οΈ Usage

Activate Nightfall.nvim with the following command:

vim.cmd.colorscheme("nightfall") -- Variants: `deepernight`, `maron`

Refer to :h nightfall.nvim_usage in Neovim for advanced usage.

βš™οΈ Configuration

Configure Nightfall.nvim to match your preferences before loading the colorscheme. Nightfall can pre-compute the results of your configuration and store them in a compiled Lua file for faster startup times. For default configuration details, see :h nightfall.nvim_defaults.

require("nightfall").setup({
  compile_path = vim.fn.stdpath("cache") .. "/nightfall",
  transparent = false,
  terminal_colors = true,
  dim_inactive = false,
  styles = {
    comments = { italic = true },
    keywords = { italic = true },
    functions = {},
    variables = {},
    numbers = {},
    conditionals = {},
    constants = {},
    operators = {},
    strings = {},
    types = {},
    booleans = {},
    loops = {},
  },
  default_integrations = true,
  integrations = {
    lazy = { enabled = true },
    telescope = { enabled = true, style = "borderless" },
    illuminate = { enabled = true },
    treesitter = { enabled = true, context = true },
    lspconfig = { enabled = true },
    flash = { enabled = false },
  },
})

🎨 Customizing Colors & Highlight Groups

Customize colors and highlight groups to match your preferences using color_overrides and highlight_overrides. See :h nightfall.nvim_overriding for more details.

Customizing Colors

require("nightfall").setup({
  color_overrides = {
    all = { foreground = "#ffffff" },
    nightfall = { background = "#ff0000" },
  },
})

Customizing Highlight Groups

require("nightfall").setup({
  highlight_overrides = {
    all = { Normal = { bg = "#120809" } },
    nightfall = function(colors) return { Normal = { bg = colors.black } } end,
  },
})

πŸ› οΈ Integrations

Nightfall.nvim seamlessly integrates with other Neovim plugins. Here's how you can configure it:

require("nightfall").setup({
  integrations = {
    lazy = { enabled = true },
    telescope = { enabled = true, style = "borderless" },
    illuminate = { enabled = true },
    treesitter = { enabled = true, context = true },
    lspconfig = { enabled = true },
    flash = { enabled = false },
  }
})

Certain integrations are enabled by default, but you can customize this behavior with the default_integrations option:

require("nightfall").setup({
  default_integrations = false,
})

For more detailed information, refer to :h nightfall.nvim_integrations.

πŸͺΌ Supported Plugins

🀝 Contributing

Join the Nightfall.nvim community! Refer to the CONTRIBUTING file for details.

πŸŽ–οΈ Credits

Nightfall.nvim owes gratitude to the following projects for their inspiration and contributions:

Their dedication to enhancing the Neovim ecosystem has played a significant role in shaping Nightfall.nvim's development.