Skip to content

Commit dca8726

Browse files
skewb1klewis6991
authored andcommitted
fix: calculate cursor_line_num per window for relative numbers
Previously, `get_relative_line_num()` did not account for window, which caused incorrect relative line numbers with multiwindow option.
1 parent 6853ecb commit dca8726

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

lua/treesitter-context/render.lua

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,9 +217,10 @@ end
217217
--- @field start integer
218218

219219
--- @param ctx_node_line_num integer
220+
--- @param win integer
220221
--- @return integer
221-
local function get_relative_line_num(ctx_node_line_num)
222-
local cursor_line_num = fn.line('.')
222+
local function get_relative_line_num(ctx_node_line_num, win)
223+
local cursor_line_num = fn.line('.', win)
223224
local num_folded_lines = 0
224225
-- Find all folds between the context node and the cursor
225226
local current_line = ctx_node_line_num
@@ -255,7 +256,7 @@ local function build_lno_str(win, lnum, width)
255256
end
256257
local relnum --- @type integer?
257258
if vim.wo[win].relativenumber then
258-
relnum = get_relative_line_num(lnum)
259+
relnum = get_relative_line_num(lnum, win)
259260
end
260261
return string.format('%' .. width .. 'd', relnum or lnum)
261262
end

0 commit comments

Comments
 (0)