From eba06c9e4296040992501e4033127216d51ec760 Mon Sep 17 00:00:00 2001 From: PFiS1737 Date: Sun, 10 May 2026 21:07:50 +0800 Subject: [PATCH] feat(toggle): add toggler for vim.lsp.document_color --- docs/toggle.md | 7 +++++++ lua/snacks/toggle.lua | 14 ++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/docs/toggle.md b/docs/toggle.md index c3a40ff49..c570d6805 100644 --- a/docs/toggle.md +++ b/docs/toggle.md @@ -92,6 +92,13 @@ Snacks.toggle.diagnostics(opts) Snacks.toggle.dim() ``` +### `Snacks.toggle.document_color()` + +```lua +---@param opts? snacks.toggle.Config +Snacks.toggle.document_color(opts) +``` + ### `Snacks.toggle.get()` ```lua diff --git a/lua/snacks/toggle.lua b/lua/snacks/toggle.lua index a01418388..a59b23d3c 100644 --- a/lua/snacks/toggle.lua +++ b/lua/snacks/toggle.lua @@ -216,6 +216,20 @@ function M.inlay_hints(opts) }, opts) end +---@param opts? snacks.toggle.Config +function M.document_color(opts) + return M.new({ + id = "document_color", + name = "Document Color", + get = function() + return vim.lsp.document_color.is_enabled({ bufnr = 0 }) + end, + set = function(state) + vim.lsp.document_color.enable(state, { bufnr = 0 }) + end, + }, opts) +end + ---@param opts? snacks.toggle.Config function M.diagnostics(opts) return M.new({