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

Note

Nightfall.nvim is currently in active development, with ongoing enhancements and refinements being made to continuously improve the experience.

✨ Features

  • ⚑️ Automatic caching ensures faster load times.
  • 🌲 Comprehensive support for the nvim-treesitter syntax highlighting and parsing library.
  • 🎟️ 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. demo nightfall flavor
Deeper Night: A more intense dark theme for those who prefer a starker contrast. demo deeper night flavor
Maron: A warm, brown-tinged dark theme, offering a softer feel for extended coding sessions. demo maron flavor

πŸš€ 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: `deeper-night`, `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.