@@ -69,9 +69,11 @@ M.get_config = function(buf)
69
69
local config = configs [buf ]
70
70
if config == nil then
71
71
config = M .default_buffer_config ()
72
- local buftype_config = M .config .overrides .buftype [util .get_buf (buf , ' buftype' )]
73
- if buftype_config ~= nil then
74
- config = vim .tbl_deep_extend (' force' , config , buftype_config )
72
+ for _ , name in ipairs ({ ' buftype' , ' filetype' }) do
73
+ local override_config = M .config .overrides [name ][util .get_buf (buf , name )]
74
+ if override_config ~= nil then
75
+ config = vim .tbl_deep_extend (' force' , config , override_config )
76
+ end
75
77
end
76
78
configs [buf ] = config
77
79
end
@@ -426,28 +428,31 @@ function M.validate()
426
428
local overrides = config .overrides
427
429
append_errors (' render-markdown.overrides' , overrides , {
428
430
buftype = { overrides .buftype , ' table' },
431
+ filetype = { overrides .filetype , ' table' },
429
432
})
430
- for name , override in pairs (overrides .buftype ) do
431
- local path = ' render-markdown.overrides.buftype.' .. name
432
- append_errors (path , override , {
433
- enabled = { override .enabled , ' boolean' , true },
434
- max_file_size = { override .max_file_size , ' number' , true },
435
- debounce = { override .debounce , ' number' , true },
436
- render_modes = string_array (override .render_modes , true ),
437
- anti_conceal = { override .anti_conceal , ' table' , true },
438
- heading = { override .heading , ' table' , true },
439
- code = { override .code , ' table' , true },
440
- dash = { override .dash , ' table' , true },
441
- bullet = { override .bullet , ' table' , true },
442
- checkbox = { override .checkbox , ' table' , true },
443
- quote = { override .quote , ' table' , true },
444
- pipe_table = { override .pipe_table , ' table' , true },
445
- callout = { override .callout , ' table' , true },
446
- link = { override .link , ' table' , true },
447
- sign = { override .sign , ' table' , true },
448
- win_options = { override .win_options , ' table' , true },
449
- })
450
- validate_buffer_config (path , override , true )
433
+ for name , value_override in pairs (overrides ) do
434
+ for value , override in pairs (value_override ) do
435
+ local path = string.format (' render-markdown.overrides.%s.%s' , name , value )
436
+ append_errors (path , override , {
437
+ enabled = { override .enabled , ' boolean' , true },
438
+ max_file_size = { override .max_file_size , ' number' , true },
439
+ debounce = { override .debounce , ' number' , true },
440
+ render_modes = string_array (override .render_modes , true ),
441
+ anti_conceal = { override .anti_conceal , ' table' , true },
442
+ heading = { override .heading , ' table' , true },
443
+ code = { override .code , ' table' , true },
444
+ dash = { override .dash , ' table' , true },
445
+ bullet = { override .bullet , ' table' , true },
446
+ checkbox = { override .checkbox , ' table' , true },
447
+ quote = { override .quote , ' table' , true },
448
+ pipe_table = { override .pipe_table , ' table' , true },
449
+ callout = { override .callout , ' table' , true },
450
+ link = { override .link , ' table' , true },
451
+ sign = { override .sign , ' table' , true },
452
+ win_options = { override .win_options , ' table' , true },
453
+ })
454
+ validate_buffer_config (path , override , true )
455
+ end
451
456
end
452
457
453
458
for name , handler in pairs (config .custom_handlers ) do
0 commit comments