local diary_open = function(opts) local date = opts.args ~= '' and opts.args or os.date('%Y-%m-%d') local year, month = date:match('(%d%d%d%d)-(%d%d)') local file = string.format('~/.diary/asciidoc/%s/diary-%s-%s.adoc', year, year, month) print("file is:", file) vim.cmd('e ' .. file) vim.cmd('normal! G') -- NOTE.2025-06-08 [1] and [2] should be replaced with snippet name, but I -- don't know how -- neither do grok nor chatgpt ... local snips = require('luasnip') local asnippets = snips.get_snippets('asciidoc') if vim.fn.getfsize(file) == 0 then snips.snip_expand(asnippets[1]) vim.cmd('normal! G') end vim.cmd('normal! 3o') -- insert some newlines before new entry snips.snip_expand(asnippets[2]) end vim.api.nvim_create_user_command("Diary", diary_open, { nargs = '?' })