diff --git a/nvim/lua/configs/snippets.lua b/nvim/lua/configs/snippets.lua deleted file mode 100644 index 5df6c32..0000000 --- a/nvim/lua/configs/snippets.lua +++ /dev/null @@ -1 +0,0 @@ -vim.g.lua_snippets_path = vim.fn.stdpath "config" .. "/lua/lua_snippets" diff --git a/nvim/lua/plugins/luasnip.lua b/nvim/lua/plugins/luasnip.lua new file mode 100644 index 0000000..3bf6d50 --- /dev/null +++ b/nvim/lua/plugins/luasnip.lua @@ -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, + }, +} diff --git a/nvim/lua/snippets/markdown.lua b/nvim/lua/snippets/markdown.lua new file mode 100644 index 0000000..7d17a42 --- /dev/null +++ b/nvim/lua/snippets/markdown.lua @@ -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 + }) +}