aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/snippets/markdown.lua
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2022-12-16 23:42:45 +0200
committersrdusr <trevorgray@srdusr.com>2022-12-16 23:42:45 +0200
commitaf5e62f47fc0c49ff3fb7c4dcf26a438471cf7cf (patch)
treed80cae9fd509089a3472aaf355b598fdca1b4f6f /.config/nvim/snippets/markdown.lua
parent6371e90cc598e52b1d057d4b6d9a7b75d60e2fd0 (diff)
parent18e3249ba8bfea656b02308225684e893d0273fa (diff)
downloaddotfiles-af5e62f47fc0c49ff3fb7c4dcf26a438471cf7cf.tar.gz
dotfiles-af5e62f47fc0c49ff3fb7c4dcf26a438471cf7cf.zip
Merge commit 'af4baf569778ef8324ec0c1c6c0f09d6fb79e6a4' as '.config/nvim'
Diffstat (limited to '.config/nvim/snippets/markdown.lua')
-rw-r--r--.config/nvim/snippets/markdown.lua58
1 files changed, 58 insertions, 0 deletions
diff --git a/.config/nvim/snippets/markdown.lua b/.config/nvim/snippets/markdown.lua
new file mode 100644
index 0000000..d0d1487
--- /dev/null
+++ b/.config/nvim/snippets/markdown.lua
@@ -0,0 +1,58 @@
+local ls = require("luasnip")
+local s = ls.s
+local i = ls.i
+local t = ls.t
+
+local d = ls.dynamic_node
+local c = ls.choice_node
+local f = ls.function_node
+local sn = ls.snippet_node
+
+local fmt = require("luasnip.extras.fmt").fmt
+local rep = require("luasnip.extras").rep
+
+-- --
+
+local snippets = {}
+local autosnippets = {}
+
+local autocmd = vim.api.nvim_create_autocmd
+local augroup = vim.api.nvim_create_augroup
+local map = vim.keymap.set
+local opts = { noremap = true, silent = true, buffer = true }
+local group = augroup("Markdown Snippets", { clear = true })
+
+local function cs(trigger, nodes, keymap) --> cs stands for create snippet
+ local snippet = s(trigger, nodes)
+ table.insert(snippets, snippet)
+
+ if keymap ~= nil then
+ local pattern = "*.md"
+ if type(keymap) == "table" then
+ pattern = keymap[1]
+ keymap = keymap[2]
+ end
+ autocmd("BufEnter", {
+ pattern = pattern,
+ group = group,
+ callback = function()
+ map({ "i" }, keymap, function()
+ ls.snip_expand(snippet)
+ end, opts)
+ end,
+ })
+ end
+end
+
+local function lp(package_name) -- Load Package Function
+ package.loaded[package_name] = nil
+ return require(package_name)
+end
+
+-- Utility Functions --
+
+-- Start Refactoring --
+
+-- Start Refactoring --
+
+return snippets, autosnippets