From 4531c2a04eccb92733375c06bf4378efb139dcac Mon Sep 17 00:00:00 2001 From: Damien MEHALA Date: Sat, 18 May 2024 20:44:55 +0200 Subject: [PATCH] fix(treesitter): `get_node_text()` newling handling consistency - Modified `buf_range_get_text` to insert the trailing newline char. --- runtime/lua/vim/treesitter.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/runtime/lua/vim/treesitter.lua b/runtime/lua/vim/treesitter.lua index db544c1ab1..f54f95c3f2 100644 --- a/runtime/lua/vim/treesitter.lua +++ b/runtime/lua/vim/treesitter.lua @@ -187,6 +187,7 @@ end ---@returns string local function buf_range_get_text(buf, range) local start_row, start_col, end_row, end_col = M._range.unpack4(range) + local insert_nl = false if end_col == 0 then if start_row == end_row then start_col = -1 @@ -194,8 +195,12 @@ local function buf_range_get_text(buf, range) end end_col = -1 end_row = end_row - 1 + insert_nl = true end local lines = api.nvim_buf_get_text(buf, start_row, start_col, end_row, end_col, {}) + if insert_nl then + table.insert(lines, "") + end return table.concat(lines, '\n') end