From 2ecd99cb9f62521822e22e173b0a98f91229ce31 Mon Sep 17 00:00:00 2001 From: Yifan Hu <141280278+b0ae989c@users.noreply.github.com> Date: Fri, 14 Jun 2024 23:02:59 +0000 Subject: [PATCH 1/3] docs: fix example description --- docs/filter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/filter.md b/docs/filter.md index 4f0d6a72..8ba4b114 100644 --- a/docs/filter.md +++ b/docs/filter.md @@ -4,7 +4,7 @@ A simple filter is a table whose keys are item attributes. The following filter keeps items with attribute `buf = 0` **and** `ft = 'lua'`, -i.e., diagnostics with severity error to the current buffer when its filetype is `lua`. +i.e., diagnostics from the current buffer with filetype `lua`. ```lua { From 3da3df51969a32bc3b0436e29fe7d00e161aed81 Mon Sep 17 00:00:00 2001 From: Yifan Hu <141280278+b0ae989c@users.noreply.github.com> Date: Fri, 14 Jun 2024 23:28:56 +0000 Subject: [PATCH 2/3] docs: add more examples --- docs/filter.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/filter.md b/docs/filter.md index 8ba4b114..1b70c1fb 100644 --- a/docs/filter.md +++ b/docs/filter.md @@ -79,6 +79,26 @@ The following filter **keeps** diagnostics for the current buffer **or** diagnos } ``` +### Cascading diagnostics + +The following filter **keeps** the most severe diagnostics. +Once those diagnostics are resolved, +less severe entries are shown. + +```lua +{ + modes = { + my_diagnostics = { + mode = 'diagnostics', + filter = function(items) + local severity = vim.iter(items):fold(vim.diagnostic.severity.HINT, function(r, v) return math.min(r, v.severity) end) + return vim.tbl_filter(function(item) return item.severity == severity end, items) + end, + }, + }, +} +``` + ## Item attributes Item attributes are documented in `lua/trouble/item.lua` From d89e79e214335b647f95de7e4aa443c1408be837 Mon Sep 17 00:00:00 2001 From: Yifan Hu <141280278+b0ae989c@users.noreply.github.com> Date: Fri, 14 Jun 2024 23:32:16 +0000 Subject: [PATCH 3/3] docs: formatting --- docs/filter.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/filter.md b/docs/filter.md index 1b70c1fb..07173c9e 100644 --- a/docs/filter.md +++ b/docs/filter.md @@ -91,8 +91,12 @@ less severe entries are shown. my_diagnostics = { mode = 'diagnostics', filter = function(items) - local severity = vim.iter(items):fold(vim.diagnostic.severity.HINT, function(r, v) return math.min(r, v.severity) end) - return vim.tbl_filter(function(item) return item.severity == severity end, items) + local severity = vim.iter(items):fold( + vim.diagnostic.severity.HINT, + function(r, v) return math.min(r, v.severity) end) + return vim.tbl_filter( + function(item) return item.severity == severity end, + items) end, }, },