From 1ef12a1e5f29ce57f694851dce5a06693c7d43c2 Mon Sep 17 00:00:00 2001 From: Bruno Carlin Date: Mon, 19 Feb 2024 17:51:00 +0100 Subject: [PATCH] feat(nvim): add vimwiki plugin --- nvim/.config/nvim/lua/plugins/init.lua | 1 + nvim/.config/nvim/lua/plugins/vimwiki.lua | 32 ++++++++++++++++++----- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/nvim/.config/nvim/lua/plugins/init.lua b/nvim/.config/nvim/lua/plugins/init.lua index ce48b1b..1aceed0 100644 --- a/nvim/.config/nvim/lua/plugins/init.lua +++ b/nvim/.config/nvim/lua/plugins/init.lua @@ -18,3 +18,4 @@ require "plugins.telescope" require "plugins.treesitter" require "plugins.treesitter_textobject" require "plugins.neotree" +require "plugins.vimwiki" diff --git a/nvim/.config/nvim/lua/plugins/vimwiki.lua b/nvim/.config/nvim/lua/plugins/vimwiki.lua index 8622b3b..3084a7f 100644 --- a/nvim/.config/nvim/lua/plugins/vimwiki.lua +++ b/nvim/.config/nvim/lua/plugins/vimwiki.lua @@ -1,7 +1,27 @@ -vim.g.vimwiki_list = [{'path': '~/Notebook', - \ 'auto_toc': 1, - \ 'index': 'main', - \ 'ext': '.md', - \ 'syntax': 'markdown'}] -vim.g.vimwiki_ext2syntax = {'.md': 'markdown'} +local wikipath = '~/Notebook' + +vim.g.vimwiki_list = {{path = wikipath, + auto_toc = 1, + index = 'main', + ext = '.md', + syntax = 'markdown'}} +vim.g.vimwiki_ext2syntax = {['.md'] = 'markdown'} + +--mkdir(strftime("diary/%Y/%m"), "p", 0755) \| exec "edit " . strftime("diary/%Y/%m/%Y-%m-%d.md") + +function joinpaths(...) + return table.concat({ ... }, "/") +end + + +function vimwikiOpenTodayDiary() + local dirname = os.date("diary/%Y/%m") + local filename = os.date("%Y-%m-%d.md") + + local ret = os.execute("mkdir -p " .. joinpaths(wikipath, dirname)) + vim.print(ret) + vim.cmd("edit " .. joinpaths(wikipath, dirname, filename)) +end + +vim.keymap.set('n', 'ww', vimwikiOpenTodayDiary, { noremap = true, silent = true });