diff --git a/lua/image/init.lua b/lua/image/init.lua index f547fb6..5d90034 100644 --- a/lua/image/init.lua +++ b/lua/image/init.lua @@ -36,6 +36,9 @@ local default_options = { neorg = { enabled = true, }, + rst = { + enabled = true, + }, syslang = { enabled = true, }, diff --git a/tests/core/rst_integration_spec.lua b/tests/core/rst_integration_spec.lua new file mode 100644 index 0000000..736a18c --- /dev/null +++ b/tests/core/rst_integration_spec.lua @@ -0,0 +1,43 @@ +local unload_image_modules = function() + for module_name in pairs(package.loaded) do + if module_name == "image" or module_name:match("^image/") then package.loaded[module_name] = nil end + end +end + +describe("rst integration defaults", function() + after_each(function() + pcall(vim.api.nvim_del_augroup_by_name, "image.nvim") + local namespace = vim.api.nvim_get_namespaces()["image.nvim"] + if namespace then pcall(vim.api.nvim_set_decoration_provider, namespace, {}) end + unload_image_modules() + end) + + it("loads rst when integration options override only its rendering settings", function() + local configured + package.loaded["image/integrations/rst"] = { + setup = function(_, options) + configured = options + end, + } + + local image = require("image") + image.setup({ + integrations = { + markdown = { enabled = false }, + asciidoc = { enabled = false }, + typst = { enabled = false }, + neorg = { enabled = false }, + syslang = { enabled = false }, + html = { enabled = false }, + css = { enabled = false }, + org = { enabled = false }, + rst = { only_render_image_at_cursor = true }, + }, + hijack_file_patterns = {}, + }) + + assert.is_true(configured ~= nil) + assert.is_true(configured.enabled) + assert.is_true(configured.only_render_image_at_cursor) + end) +end)