Added command :Diary to open the AsciiDoc diary and start a new entry
This commit is contained in:
1
init.lua
1
init.lua
@@ -6,3 +6,4 @@ require('plugins')
|
|||||||
require('colorscheme')
|
require('colorscheme')
|
||||||
require('lsp')
|
require('lsp')
|
||||||
require('keybindings')
|
require('keybindings')
|
||||||
|
require('diary')
|
||||||
|
|||||||
21
lua/diary.lua
Normal file
21
lua/diary.lua
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
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
|
||||||
|
snips.snip_expand(asnippets[2])
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_create_user_command("Diary", diary_open, { nargs = '?' })
|
||||||
Reference in New Issue
Block a user