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,
     },
   },