Skip to content

Latest commit

 

History

History
84 lines (66 loc) · 1.56 KB

dim.md

File metadata and controls

84 lines (66 loc) · 1.56 KB

🍿 dim

Focus on the active scope by dimming the rest.

Similar plugins:

image

📦 Setup

-- lazy.nvim
{
  "folke/snacks.nvim",
  ---@type snacks.Config
  opts = {
    dim = {
      -- your dim configuration comes here
      -- or leave it empty to use the default settings
      -- refer to the configuration section below
    }
  }
}

⚙️ Config

---@class snacks.dim.Config
{
  ---@type snacks.scope.Config
  scope = {
    min_size = 5,
    max_size = 20,
    siblings = true,
  },
  -- animate scopes. Enabled by default for Neovim >= 0.10
  -- Works on older versions but has to trigger redraws during animation.
  ---@type snacks.animate.Config|{enabled?: boolean}
  animate = {
    enabled = vim.fn.has("nvim-0.10") == 1,
    easing = "outQuad",
    duration = {
      step = 20, -- ms per step
      total = 300, -- maximum duration
    },
  },
  -- what buffers to dim
  filter = function(buf)
    return vim.g.snacks_dim ~= false and vim.b[buf].snacks_dim ~= false and vim.bo[buf].buftype == ""
  end,
}

📦 Module

Snacks.dim()

---@type fun(opts: snacks.dim.Config)
Snacks.dim()

Snacks.dim.disable()

Disable dimming

Snacks.dim.disable()

Snacks.dim.enable()

---@param opts? snacks.dim.Config
Snacks.dim.enable(opts)