diff --git a/lua/lazyvim/util/toggle.lua b/lua/lazyvim/util/toggle.lua index 4e0ba494..2bf13934 100644 --- a/lua/lazyvim/util/toggle.lua +++ b/lua/lazyvim/util/toggle.lua @@ -127,9 +127,32 @@ M.number = M.wrap({ M.diagnostics = M.wrap({ name = "Diagnostics", get = function() - return vim.diagnostic.is_enabled and vim.diagnostic.is_enabled() + local enabled + if vim.diagnostic.is_enabled then + enabled = vim.diagnostic.is_enabled() + else + enabled = not vim.diagnostic.is_disabled() + end + return enabled + end, + set = function() + local enabled + if vim.diagnostic.is_enabled then + enabled = vim.diagnostic.is_enabled() + else + enabled = not vim.diagnostic.is_disabled() + end + enabled = not enabled + if vim.fn.has("nvim-0.10") == 0 then + if enabled then + pcall(vim.diagnostic.enable) + else + vim.diagnostic.disable() + end + else + vim.diagnostic.enable(enabled) + end end, - set = vim.diagnostic.enable, }) M.inlay_hints = M.wrap({