From 2bd9138a5f9baa68e77721e77d7d1b0547cca02e Mon Sep 17 00:00:00 2001 From: js0ny Date: Fri, 29 Nov 2024 17:17:06 +0000 Subject: [PATCH] feat(nvim): Markdown Support --- .config/nvim/lua/keymaps/language.lua | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .config/nvim/lua/keymaps/language.lua diff --git a/.config/nvim/lua/keymaps/language.lua b/.config/nvim/lua/keymaps/language.lua new file mode 100644 index 0000000..0f8ad64 --- /dev/null +++ b/.config/nvim/lua/keymaps/language.lua @@ -0,0 +1,28 @@ +local M = {} + + +-- Markdown + +local function set_markdown_keymaps(bufnr) + local markdown_opt = { noremap = true, silent = true, buffer = bufnr } + for _, map in ipairs(M.markdown) do + local opts = vim.tbl_extend("force", markdown_opt, map.opts or {}) + vim.keymap.set(map.mode, map.keys, map.cmd, opts) + end +end + + +M.markdown = { + { mode = "v", keys = "`", cmd = "c`pi`" , desc = "Wrap selection in ` for inline code" }, + { mode = "v", keys = "*", cmd = "c**pi**" , desc = "Wrap selection in ** for bold" }, + { mode = "v", keys = "_", cmd = "c*pi*" , desc = "Wrap selection in * for italic" }, +} + +vim.api.nvim_create_autocmd("FileType", { + pattern = "markdown", + callback = function() + set_markdown_keymaps(0) + end, +}) + +return M