Skip to content

Repository files navigation

🌅 Twilight

Twilight is a Lua plugin for Neovim 0.5 that dims inactive portions of the code you're editing.

The plugin was heavily inspired by Limelight, but uses TreeSitter for better dimming.

Pairs well with zen-mode.

image

⚡️ Requirements

  • Neovim >= 0.5.0

📦 Installation

Install the plugin with your preferred package manager:

-- Lua
{
"folke/twilight.nvim",
opts= {
-- your configuration comes here-- or leave it empty to use the default settings-- refer to the configuration section below
}
}

⚙️ Configuration

Twilight comes with the following defaults:

{
dimming= {
alpha=0.25, -- amount of dimming-- we try to get the foreground from the highlight groups or fallback colorcolor= { "Normal", "#ffffff" },
term_bg="#000000", -- if guibg=NONE, this will be used to calculate text colorinactive=false, -- when true, other windows will be fully dimmed (unless they contain the same buffer)
},
context=10, -- amount of lines we will try to show around the current linetreesitter=true, -- use treesitter when available for the filetype-- treesitter is used to automatically expand the visible text,-- but you can further control the types of nodes that should always be fully expandedexpand= { -- for treesitter, we we always try to expand to the top-most ancestor with these types"function",
"method",
"table",
"if_statement",
},
exclude= {}, -- exclude these filetypes
}

🚀 Usage

You can manually trigger Twilight using the commands:

  • Twilight: toggle twilight
  • TwilightEnable: enable twilight
  • TwilightDisable: disable twilight

🧘 Zen Mode Integration

If you have zen-mode installed, then Twilight is activated automatically. Refer to the Zen Mode documentation to disable.

About

🌅 Twilight is a Lua plugin for Neovim 0.5 that dims inactive portions of the code you're editing using TreeSitter.

Topics

Resources

Stars

1.5k stars

Watchers

3 watching

Forks

Used by

Contributors

Languages