diff --git a/.config/nvim/lua/config/autocmds.lua b/.config/nvim/lua/config/autocmds.lua index 7b73ea4f..353650d9 100644 --- a/.config/nvim/lua/config/autocmds.lua +++ b/.config/nvim/lua/config/autocmds.lua @@ -5,13 +5,29 @@ -- We preserve comment-continuation on in insert mode, -- but disable it for normal mode commands like `o` +vim.g.prev_conceallevel = 0 vim.api.nvim_create_autocmd("InsertLeave", { buffer = 0, - command = "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", + -- command = "setlocal formatoptions-=c formatoptions-=r formatoptions-=o", + callback = function() + local ft = vim.bo.filetype + if ft == "markdown" then + vim.cmd("set conceallevel=" .. vim.g.prev_conceallevel) + end + vim.cmd("setlocal formatoptions-=c formatoptions-=r formatoptions-=o") + end, }) vim.api.nvim_create_autocmd("InsertEnter", { buffer = 0, - command = "setlocal formatoptions+=c formatoptions+=r formatoptions+=o", + callback = function() + local ft = vim.bo.filetype + local cl = vim.o.conceallevel + vim.g.prev_conceallevel = cl + if ft == "markdown" then + vim.cmd("set conceallevel=0") + end + vim.cmd("setlocal formatoptions+=c formatoptions+=r formatoptions+=o") + end, }) vim.api.nvim_create_autocmd("VimEnter", {