From 472937302b79177344b9f9c14f4f2676816821be Mon Sep 17 00:00:00 2001 From: Garrett Hopper Date: Wed, 7 May 2025 22:08:07 -0500 Subject: [PATCH] Only indent.align lines following opening delimiter --- lua/nvim-treesitter/indent.lua | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lua/nvim-treesitter/indent.lua b/lua/nvim-treesitter/indent.lua index 5c017f68d..cd7abe632 100644 --- a/lua/nvim-treesitter/indent.lua +++ b/lua/nvim-treesitter/indent.lua @@ -309,13 +309,15 @@ function M.get_indent(lnum) end else -- aligned indent - if lnum - 1 <= o_srow or (c_is_last_in_line and c_srow and o_srow ~= c_srow and c_srow < lnum - 1) then - -- If current line is outside the range of a node marked with `@aligned_indent` - -- Then its indent level shouldn't be affected by `@aligned_indent` node - indent = math.max(indent - indent_size, 0) - else - indent = o_scol + (align_metadata["indent.increment"] or 1) - indent_is_absolute = true + if lnum - 1 > o_srow then + if c_is_last_in_line and c_srow and o_srow ~= c_srow and c_srow < lnum - 1 then + -- If current line is outside the range of a node marked with `@aligned_indent` + -- Then its indent level shouldn't be affected by `@aligned_indent` node + indent = math.max(indent - indent_size, 0) + else + indent = o_scol + (align_metadata["indent.increment"] or 1) + indent_is_absolute = true + end end end -- deal with the final line