neovim configuration using rocks.nvim plugin manager
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat(snippets): add norg templates in form of templates

+51
+51
lua/snippets/norg.lua
··· 1 + require("luasnip.session.snippet_collection").clear_snippets("norg") 2 + 3 + local ls = require("luasnip") 4 + local s = ls.snippet 5 + local sn = ls.snippet_node 6 + local i = ls.insert_node 7 + local f = ls.function_node 8 + local d = ls.dynamic_node 9 + local k = require("luasnip.nodes.key_indexer").new_key 10 + local rep = require("luasnip.extras").rep 11 + local fmt = require("luasnip.extras.fmt").fmt 12 + 13 + local function today_fn() 14 + return os.date("!%Y-%m-%dT%H:%M:%S+00:00") 15 + end 16 + 17 + local function file_index_fn(_, snip) 18 + local filename = vim.fn.expand("%:t:r") 19 + local title 20 + -- TODO: rewrite this with `vim.fs` lua api 21 + if filename == "index" then 22 + title = vim.fn.expand("%"):match("([^/]+)/[^/]+$") 23 + else 24 + title = vim.fn.substitute(snip.env.TM_FILENAME, "\\..*$", "", "g") 25 + end 26 + return sn(nil, { i(1, title) }) 27 + end 28 + 29 + -- stylua: ignore 30 + ls.add_snippets("norg", { 31 + s("!", fmt( 32 + [[ 33 + @document.meta 34 + title: {} 35 + created: {} 36 + updated: {} 37 + @end 38 + 39 + * {} 40 + 41 + ]], 42 + { 43 + d(1, file_index_fn), 44 + f(today_fn, {}, { key = "today" }), 45 + rep(k"today"), 46 + rep(1), 47 + -- t"", 48 + -- t"", 49 + } 50 + )), 51 + })