feat: set up luasnip;
feat: markdown file marker snippet
This commit is contained in:
@@ -1 +0,0 @@
|
|||||||
vim.g.lua_snippets_path = vim.fn.stdpath "config" .. "/lua/lua_snippets"
|
|
||||||
13
nvim/lua/plugins/luasnip.lua
Normal file
13
nvim/lua/plugins/luasnip.lua
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"L3MON4D3/LuaSnip",
|
||||||
|
config = function(_, opts)
|
||||||
|
-- Load default NvChad + Friendly Snippets
|
||||||
|
-- require("luasnip")(_, opts)
|
||||||
|
|
||||||
|
-- Load custom snippets
|
||||||
|
local custom_snippets_path = vim.fn.stdpath("config") .. "/lua/snippets/"
|
||||||
|
require("luasnip.loaders.from_lua").lazy_load({ paths = custom_snippets_path })
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
34
nvim/lua/snippets/markdown.lua
Normal file
34
nvim/lua/snippets/markdown.lua
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
local ls = require("luasnip")
|
||||||
|
local s = ls.snippet
|
||||||
|
local t = ls.text_node
|
||||||
|
local i = ls.insert_node
|
||||||
|
local f = ls.function_node
|
||||||
|
local extras = require("luasnip.extras")
|
||||||
|
local rep = extras.rep
|
||||||
|
|
||||||
|
local timestamp = function()
|
||||||
|
return tostring(os.time())
|
||||||
|
end
|
||||||
|
|
||||||
|
local get_date = function()
|
||||||
|
return os.date("%H:%M:%S %d.%m.%Y")
|
||||||
|
end
|
||||||
|
|
||||||
|
local get_name = function()
|
||||||
|
return "Nikolai Papin"
|
||||||
|
end
|
||||||
|
|
||||||
|
return {
|
||||||
|
s("frontmatter", {
|
||||||
|
t("---"),
|
||||||
|
t({ "", "title: \"" }), i(1), t("\""),
|
||||||
|
t({ "", "date: " }), f(get_date, {}),
|
||||||
|
t({ "", "author: \"" }), f(get_name, {}), t("\""),
|
||||||
|
t({ "", "id: " }), f(timestamp, {}),
|
||||||
|
t({ "", "---", "", "# " }),
|
||||||
|
rep(1), -- Reuses the first insert node
|
||||||
|
t({ "", ""}),
|
||||||
|
t({ "", ""}),
|
||||||
|
i(3) -- Final cursor position
|
||||||
|
})
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user