summary refs log tree commit diff
path: root/.vim/plugin/zettel.vim
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2020-12-07 19:15:23 +0100
committerRobert Günzler <r@gnzler.io>2021-01-21 19:39:11 +0100
commit04db98668639cb0b431d50e5963f6b156d728078 (patch)
tree4bec29af1c9c34852e974be06301f74de4802199 /.vim/plugin/zettel.vim
parent9b8005439ac351ded8f6286aefa2378d25d7add5 (diff)
vim: big update; move lots of things to lua
Diffstat (limited to '')
-rw-r--r--.vim/plugin/zettel.vim43
1 files changed, 43 insertions, 0 deletions
diff --git a/.vim/plugin/zettel.vim b/.vim/plugin/zettel.vim
new file mode 100644
index 0000000..948bb91
--- /dev/null
+++ b/.vim/plugin/zettel.vim
@@ -0,0 +1,43 @@
+" markdown extended for bullet journaling and personal wiki-keeping
+
+if exists('g:loaded_zettel')
+	finish
+endif
+let g:loaded_zettel = 1
+
+if !exists('g:zettel_root')
+	let g:zettel_root = expand($HOME.'/wiki')
+endif
+
+if !exists('g:zettel_create_on_empty')
+	let g:zettel_create_on_emtpy = 1
+endif
+
+if v:progname =~ 'vimdiff'
+	let g:zettel_create_on_empty = 0
+endif
+
+function! <SID>make_new_zettel()
+	let l:pastebackup = &paste
+	set nopaste
+
+	0 put ='---'
+	read !yq n date $(date -Iseconds) | yq w - title "%:t:r"
+	put ='---'
+	call feedkeys('Go', 'n')
+
+	if pastebackup == 0
+		set nopaste
+	endif
+endfunction
+
+command! -nargs=0 NewZettel call <SID>make_new_zettel()
+
+augroup NewZettel
+	au!
+	au BufNewFile *.md
+		\ if expand('%:p') =~# fnameescape(g:zettel_root).'/.*.md' |
+		\ 	call <SID>make_new_zettel() |
+		\ endif
+augroup END
+