Skip to content

2giosangmitom/nightfall.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

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

Repository files navigation

🌌 Nightfall.nvim: Embrace the Serenity of Coding in the Depths of Darkness

Ready to unleash your coding potential? Nightfall.nvim is a meticulously crafted Neovim colorscheme designed to transform your coding experience. Dive into a world of focus and productivity with a palette that enhances code readability, reduces eye strain, and seamlessly integrates with your favorite plugins.

Stars Last commit Forks Issues Repo size Release LICENSE

Note

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

🌟 Key Features

  • πŸ“© Automatic caching ensures faster load times.
  • 🌲 Full Tree-sitter support.
  • 🎟️ Seamlessly integrates with LSP semantic tokens (require Neovim 0.9 or later).
  • πŸ”Œ Extensive support for many popular plugins, enhancing your Neovim experience.
  • πŸ–ŒοΈ Customize default colors and highlights to match your preferences and workflow seamlessly.

🎨 Flavors

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

  • Nightfall: Dark and vibrant, inspired by Dracula.
  • Deeper Night: Intense dark theme for high contrast.
  • Maron: Warm brown-tinged dark theme for a softer feel.

πŸš€ Installation

Install Nightfall.nvim using your preferred Neovim plugin manager.

{
  "2giosangmitom/nightfall.nvim",
  lazy = false,
  priority = 1000,
  version = "*",
  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,
})

πŸͺΌ Supported Plugins

  • lazy.nvim: πŸ’€ A modern plugin manager for Neovim.

    lazy = { enabled = true }
  • nvim-treesitter: Experience powerful syntax highlighting and editing capabilities.

    treesitter = { enabled = true }
  • nvim-treesitter-context: Display code context seamlessly.

    treesitter = { enabled = true, context = true }
  • nvim-lspconfig: Integrate seamlessly with Language Server Protocol (LSP) for intelligent code completion and more.

    lspconfig = { enabled = true }
  • telescope.nvim: Effortlessly find and navigate your code with Telescope.

    telescope = { enabled = true, style = "borderless" } -- or style = "bordered"
  • vim-illuminate: Automatically highlight other uses of the word under the cursor using LSP, Tree-sitter, or regex matching.

    illuminate = { enabled = true }
  • flash.nvim: Navigate your code with search labels, enhanced character motions, and Treesitter integration.

    flash = { enabled = true }
  • lualine.nvim: Configure a blazing-fast statusline plugin in pure Lua.

    require('lualine').setup {
      options = {
        theme = "nightfall"
        -- ... additional configurations
      }
    }

🀝 Contributing

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

Certainly! Here's the credits section:

πŸŽ–οΈ 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.

About

🌌 A sublime colorscheme for Neovim, enveloping your coding environment in the tranquil shades of twilight, enhancing focus and fostering creativity. (WIP)

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project