local markdown = vim.api.nvim_create_augroup("markdown", { clear = true }) local keyunmap = function(mode, binding) print(vim.inspect(vim.fn.maparg(binding, mode))) if vim.fn.maparg(binding, mode) ~= "" then vim.keymap.del(mode, binding) end end -- Recognize .md as pandoc vim.api.nvim_create_autocmd({"BufEnter", "BufWinEnter"}, { pattern = {"*.md", }, group = markdown, callback = function() vim.o.filetype = 'pandoc' require('luasnip').filetype_extend("pandoc", {"markdown"}) vim.o.spell = true vim.o.spelllang = 'en' vim.o.formatoptions = "qj" -- email commands: my/msy to paste the html inside the clipboard vim.keymap.set('', 'msy', ':w !pandoc -f markdown+emoji -t html5 -s | wl-copy', { noremap = true, silent = true }) vim.keymap.set('', 'my', ':w !pandoc -f markdown+emoji --wrap=none -t html5 | wl-copy', { noremap = true, silent = true }) end }) -- French markdown files vim.api.nvim_create_autocmd({"BufEnter", "BufWinEnter"}, { pattern = {"*-fr.md", }, group = markdown, callback = function() vim.o.spelllang = 'fr' end }) -- Spell shortcuts vim.api.nvim_create_autocmd({"OptionSet"}, { pattern = { "spell" }, group = markdown, callback = function() if vim.o.spell == true then vim.keymap.set("n", "i", "mz[s1z=`z", {noremap = true, silent = true}) vim.keymap.set("n", "à", "]s", {noremap = true, silent = true}) else keyunmap("n", "i") keyunmap("n", "à") end end }) -- LaTeX configuration local texgroup = vim.api.nvim_create_augroup("latex", { clear = true }) vim.api.nvim_create_autocmd("FileType", { pattern = {"latex"}, group = texgroup, callback = function() -- vimtex configuration vim.g.vimtex_view_method = 'zathura' vim.g.maplocalleader = ' ' -- Legacy shortcut from my vim-latexsuite days vim.api.nvim_set_keymap("n", "ls", ":VimtexView", {noremap = true, silent = true, desc = 'View [L]atex Document'}) vim.o.foldmethod = 'expr' vim.o.foldexpr='vimtex#fold#level(v:lnum)' vim.o.foldtext='vimtex#fold#text()' vim.o.spell = true end, })