diff --git a/README.md b/README.md index 9e33b653c..ff312f30b 100644 --- a/README.md +++ b/README.md @@ -329,6 +329,10 @@ local DEFAULT_SETTINGS = { toggle_help = "g?", }, }, + + health = { + ignore = {}, + }, } ``` diff --git a/lua/mason/health.lua b/lua/mason/health.lua index b8680ad4a..eba111a5e 100644 --- a/lua/mason/health.lua +++ b/lua/mason/health.lua @@ -59,8 +59,12 @@ local function check(opts) report_ok(("%s: `%s`"):format(opts.name, version or "Ok")) end):on_failure(function(err) - local report = opts.relaxed and report_warn or report_error - report(("%s: not available"):format(opts.name), opts.advice or { tostring(err) }) + if vim.tbl_contains(settings.current.health.ignore, opts.name) then + report_ok(("%s: not available (ignored)"):format(opts.name)) + else + local report = opts.relaxed and report_warn or report_error + report(("%s: not available"):format(opts.name), opts.advice or { tostring(err) }) + end end) permit:forget() end diff --git a/lua/mason/settings.lua b/lua/mason/settings.lua index 56fbcfb9f..dfafd07ee 100644 --- a/lua/mason/settings.lua +++ b/lua/mason/settings.lua @@ -137,6 +137,10 @@ local DEFAULT_SETTINGS = { toggle_help = "g?", }, }, + + health = { + ignore = {}, + }, } M._DEFAULT_SETTINGS = DEFAULT_SETTINGS