Skip to content

Commit 629eb95

Browse files
feat: allow rendering when window is in diff mode
## Details Request: #645 Previously all rendering was disabled in diff mode as there was no use case for it: 01b38dc Now there is, add a new `render.diff` option that when set to `true` allows rendering to proceed when it otherwise would not.
1 parent 68d672c commit 629eb95

8 files changed

Lines changed: 40 additions & 2 deletions

File tree

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,10 @@ require('render-markdown').setup({
691691
'RenderMarkdownQuote6',
692692
},
693693
},
694+
render = {
695+
-- Whether to render when window is in diff-mode.
696+
diff = false,
697+
},
694698
pipe_table = {
695699
-- Turn on / off pipe table rendering.
696700
enabled = true,

doc/render-markdown.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -758,6 +758,10 @@ Default Configuration ~
758758
'RenderMarkdownQuote6',
759759
},
760760
},
761+
render = {
762+
-- Whether to render when window is in diff-mode.
763+
diff = false,
764+
},
761765
pipe_table = {
762766
-- Turn on / off pipe table rendering.
763767
enabled = true,

lua/render-markdown/core/ui.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ function Updater:run()
9898
local render = self.config.enabled
9999
and self.config.resolved:render(self.mode)
100100
and env.win.view(self.win).leftcol == 0
101-
and not env.win.get(self.win, 'diff')
101+
and (self.config.render.diff or not env.win.get(self.win, 'diff'))
102102
log.buf('info', 'Render', self.buf, render)
103103
local next_state = render and 'rendered' or 'default'
104104
for _, win in ipairs(env.buf.wins(self.buf)) do

lua/render-markdown/health.lua

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

88
---@private
9-
M.version = '8.12.14'
9+
M.version = '8.12.15'
1010

1111
function M.check()
1212
M.start('versions')

lua/render-markdown/init.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ local M = {}
2626
---@field paragraph render.md.paragraph.Config
2727
---@field pipe_table render.md.table.Config
2828
---@field quote render.md.quote.Config
29+
---@field render render.md.render.Config
2930
---@field sign render.md.sign.Config
3031
---@field win_options render.md.window.Configs
3132
---@field yaml render.md.yaml.Config
@@ -105,6 +106,7 @@ M.default = {
105106
bullet = settings.bullet.default,
106107
checkbox = settings.checkbox.default,
107108
quote = settings.quote.default,
109+
render = settings.render.default,
108110
pipe_table = settings.pipe_table.default,
109111
callout = settings.callout.default,
110112
link = settings.link.default,

lua/render-markdown/lib/config.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ function Config.new(root, enabled, buf, custom)
3636
paragraph = root.paragraph,
3737
pipe_table = root.pipe_table,
3838
quote = root.quote,
39+
render = root.render,
3940
sign = root.sign,
4041
win_options = root.win_options,
4142
yaml = root.yaml,
@@ -118,6 +119,7 @@ function Config.schema(child)
118119
paragraph = settings.paragraph.schema(),
119120
pipe_table = settings.pipe_table.schema(),
120121
quote = settings.quote.schema(),
122+
render = settings.render.schema(),
121123
sign = settings.sign.schema(),
122124
win_options = settings.win_options.schema(),
123125
yaml = settings.yaml.schema(),

lua/render-markdown/settings.lua

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1785,6 +1785,28 @@ function M.quote.schema()
17851785
})
17861786
end
17871787

1788+
---@class render.md.render.Settings
1789+
M.render = {}
1790+
1791+
---@class (exact) render.md.render.Config
1792+
---@field diff boolean
1793+
1794+
---@type render.md.render.Config
1795+
M.render.default = {
1796+
-- Whether to render when window is in diff-mode.
1797+
diff = false,
1798+
}
1799+
1800+
---@return render.md.Schema
1801+
function M.render.schema()
1802+
---@type render.md.Schema
1803+
return {
1804+
record = {
1805+
diff = { type = 'boolean' },
1806+
},
1807+
}
1808+
end
1809+
17881810
---@class render.md.sign.Settings
17891811
M.sign = {}
17901812

lua/render-markdown/types.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
---@field paragraph? render.md.paragraph.UserConfig
2424
---@field pipe_table? render.md.table.UserConfig
2525
---@field quote? render.md.quote.UserConfig
26+
---@field render? render.md.render.UserConfig
2627
---@field sign? render.md.sign.UserConfig
2728
---@field win_options? render.md.window.UserConfigs
2829
---@field yaml? render.md.yaml.UserConfig
@@ -299,6 +300,9 @@
299300
---@field repeat_linebreak? boolean
300301
---@field highlight? string|string[]
301302

303+
---@class (exact) render.md.render.UserConfig
304+
---@field diff? boolean
305+
302306
---@class (exact) render.md.sign.UserConfig
303307
---@field enabled? boolean
304308
---@field priority? integer

0 commit comments

Comments
 (0)