aboutsummaryrefslogtreecommitdiffstats
path: root/ftplugin
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--ftplugin/beancount.vim28
1 files changed, 28 insertions, 0 deletions
diff --git a/ftplugin/beancount.vim b/ftplugin/beancount.vim
new file mode 100644
index 0000000..f073545
--- /dev/null
+++ b/ftplugin/beancount.vim
@@ -0,0 +1,28 @@
+" These two variables customize the behavior of the AlignCommodity command.
+
+if !exists("g:beancount_separator_col")
+ let g:beancount_separator_col = 50
+endif
+if !exists("g:beancount_decimal_separator")
+ let g:beancount_decimal_separator = "."
+endif
+
+command! -range AlignCommodity :call beancount#align_commodity(<line1>, <line2>)
+
+" Align commodity to proper column
+inoremap <buffer> . .<C-O>:AlignCommodity<CR>
+nnoremap <buffer> <leader>= :AlignCommodity<CR>
+vnoremap <buffer> <leader>= :AlignCommodity<CR>
+
+" Insert incoming transactions at the bottom
+function! s:InsertIncoming()
+ let incoming = expand('%:h') . '/incoming.bean'
+ try
+ execute '$read' incoming
+ call system('mv ' . incoming . ' ' . incoming . '~')
+ catch /:E484/
+ echom "Not found: incoming.bean"
+ endtry
+endfunction
+
+command! -buffer Incoming call <SID>InsertIncoming()