Skip to content

Commit b02c8ef

Browse files
fix: bullet point right padding priority
## Details Issue: #199 Issue may not be related to this but setting a priority of 0 to right padding like is done with left padding seems like the correct approach. Update unit tests to validate priority value as well.
1 parent d20d19f commit b02c8ef

File tree

7 files changed

+19
-14
lines changed

7 files changed

+19
-14
lines changed

doc/render-markdown.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*render-markdown.txt* For 0.10.0 Last change: 2024 October 07
1+
*render-markdown.txt* For 0.10.0 Last change: 2024 October 09
22

33
==============================================================================
44
Table of Contents *render-markdown-table-of-contents*

lua/render-markdown/debug/marks.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ function Mark:__tostring()
118118
append('hl_group', { { nil, self.opts.hl_group } })
119119
append('hl_eol', self.opts.hl_eol)
120120
append('hl_mode', self.opts.hl_mode)
121+
append('priority', self.opts.priority)
121122
return table.concat(lines, '\n')
122123
end
123124

lua/render-markdown/health.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ local state = require('render-markdown.state')
44
local M = {}
55

66
---@private
7-
M.version = '7.3.1'
7+
M.version = '7.3.2'
88

99
function M.check()
1010
M.start('version')

lua/render-markdown/render/list_marker.lua

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,20 +102,19 @@ function Render:padding(root_list)
102102

103103
for row = list_item.start_row, end_row - 1 do
104104
local right_col = row == list_item.start_row and self.info.end_col - 1 or left_col
105-
self:padding_mark(row, left_col, 0, self.bullet.left_pad)
106-
self:padding_mark(row, right_col, nil, self.bullet.right_pad)
105+
self:padding_mark(row, left_col, self.bullet.left_pad)
106+
self:padding_mark(row, right_col, self.bullet.right_pad)
107107
end
108108
end
109109

110110
---@private
111111
---@param row integer
112112
---@param col integer
113-
---@param priority? integer
114113
---@param amount integer
115-
function Render:padding_mark(row, col, priority, amount)
114+
function Render:padding_mark(row, col, amount)
116115
if amount > 0 then
117116
self.marks:add(false, row, col, {
118-
priority = priority,
117+
priority = 0,
119118
virt_text = { { str.pad(amount), self.config.padding.highlight } },
120119
virt_text_pos = 'inline',
121120
})

tests/code_spec.lua

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,9 @@ local util = require('tests.util')
66
---@param col integer
77
---@param offset integer
88
---@param left integer
9+
---@param priority? integer
910
---@return render.md.MarkInfo
10-
local function padding(row, col, offset, left)
11+
local function padding(row, col, offset, left, priority)
1112
local virt_text = {}
1213
if offset > 0 then
1314
table.insert(virt_text, { string.rep(' ', offset), 'Normal' })
@@ -21,6 +22,7 @@ local function padding(row, col, offset, left)
2122
col = { col },
2223
virt_text = virt_text,
2324
virt_text_pos = 'inline',
25+
priority = priority,
2426
}
2527
end
2628

@@ -77,7 +79,7 @@ describe('code.md', function()
7779
table.insert(expected, util.code_language(row:increment(2), 0, 'rust', 34))
7880
for _ = 1, 3 do
7981
vim.list_extend(expected, {
80-
padding(row:increment(), 0, 0, 2),
82+
padding(row:increment(), 0, 0, 2, 0),
8183
util.code_hide(row:get(), 0, 34),
8284
util.code_row(row:get(), 0),
8385
})

tests/indent_spec.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ local function indent(row, level)
1212
col = { 0 },
1313
virt_text = { { string.rep(' ', level or 1), 'Normal' } },
1414
virt_text_pos = 'inline',
15+
priority = 0,
1516
}
1617
end
1718

tests/util.lua

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ end
4040
---@field virt_lines_above? boolean
4141
---@field sign_text? string
4242
---@field sign_hl_group? string
43+
---@field priority? integer
4344
local MarkInfo = {}
4445
MarkInfo.__index = MarkInfo
4546

@@ -62,6 +63,9 @@ function MarkInfo.new(row, col, details)
6263
self.virt_lines_above = details.virt_lines_above
6364
self.sign_text = details.sign_text
6465
self.sign_hl_group = details.sign_hl_group
66+
if details.priority ~= 4096 then
67+
self.priority = details.priority
68+
end
6569
return self
6670
end
6771

@@ -221,6 +225,7 @@ function M.code_hide(row, col, win_col)
221225
virt_text = { { string.rep(' ', vim.opt.columns:get() * 2), 'Normal' } },
222226
virt_text_pos = 'win_col',
223227
virt_text_win_col = win_col,
228+
priority = 0,
224229
}
225230
end
226231

@@ -339,6 +344,7 @@ function M.table_padding(row, col, spaces)
339344
col = { col },
340345
virt_text = { { string.rep(' ', spaces), M.hl('TableFill') } },
341346
virt_text_pos = 'inline',
347+
priority = 0,
342348
}
343349
end
344350

@@ -430,11 +436,7 @@ end
430436
function M.marks_are_equal(expected, actual)
431437
expected = vim.iter(expected)
432438
:map(function(mark_or_marks)
433-
if vim.islist(mark_or_marks) then
434-
return mark_or_marks
435-
else
436-
return { mark_or_marks }
437-
end
439+
return vim.islist(mark_or_marks) and mark_or_marks or { mark_or_marks }
438440
end)
439441
:flatten()
440442
:totable()

0 commit comments

Comments
 (0)