From a3d801660500c8fe0faf4b993814a84d9455d22c Mon Sep 17 00:00:00 2001 From: Ozay Date: Mon, 1 Jun 2026 20:37:52 +0200 Subject: [PATCH] fix(markdown): fix list_item indentation boundary detection Use strict less-than (<) instead of less-than-or-equal (<=) when comparing line_indent to nested_indent, and add an early break when indentation drops below the current list indent level. --- lua/markview/parsers/markdown.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lua/markview/parsers/markdown.lua b/lua/markview/parsers/markdown.lua index 47b8387..f43cab6 100644 --- a/lua/markview/parsers/markdown.lua +++ b/lua/markview/parsers/markdown.lua @@ -509,7 +509,7 @@ markdown.list_item = function (buffer, TSNode, _, range) table.insert(candidates, (l - 1)); elseif line == "" then nested_tolerance = nested_tolerance + 1; - elseif line_indent <= nested_indent then + elseif line_indent < nested_indent then skip = false; nested_indent = 0; @@ -524,6 +524,12 @@ markdown.list_item = function (buffer, TSNode, _, range) list_tolerance = list_tolerance + 1; table.insert(candidates, (l - 1)); else + local line_indent = line:match("^%s*"):len(); + + if line_indent < #(indent or "") then + break; + end + list_tolerance = 0; table.insert(candidates, (l - 1)); end