diff options
author | Johann Klähn <kljohann@gmail.com> | 2009-06-17 12:40:50 +0200 |
---|---|---|
committer | Johann Klähn <kljohann@gmail.com> | 2009-06-17 12:40:50 +0200 |
commit | 9701548f7e634f9a19295e34f624264343b78f0b (patch) | |
tree | d54b8ba29177a0b33ff2c5101105f1601bf0d5a9 /contrib | |
parent | b96df34d75e9c0afde5b1706c00a6c8a58b2fff4 (diff) | |
download | fork-ledger-9701548f7e634f9a19295e34f624264343b78f0b.tar.gz fork-ledger-9701548f7e634f9a19295e34f624264343b78f0b.tar.bz2 fork-ledger-9701548f7e634f9a19295e34f624264343b78f0b.zip |
vim: highlight account names
This helps to avoid confusion when an account is not
seperated from the amount by two spaces or a tab but only by one space.
In these cases the amount will now be highlighted
as if it belongs to the account name.
Thanks to user 'plaindocs' for reporting this.
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/vim/ftplugin/ledger.vim | 2 | ||||
-rw-r--r-- | contrib/vim/syntax/ledger.vim | 14 |
2 files changed, 11 insertions, 5 deletions
diff --git a/contrib/vim/ftplugin/ledger.vim b/contrib/vim/ftplugin/ledger.vim index 4e8bfcf1..cef0d81e 100644 --- a/contrib/vim/ftplugin/ledger.vim +++ b/contrib/vim/ftplugin/ledger.vim @@ -85,7 +85,7 @@ function! s:multibyte_strlen(text) "{{{2 return strlen(substitute(a:text, ".", "x", "g")) endfunction "}}} -function s:get_columns(win) "{{{2 +function! s:get_columns(win) "{{{2 " As long as vim doesn't provide a command natively, " we have to compute the available columns. " see :help todo.txt -> /Add argument to winwidth()/ diff --git a/contrib/vim/syntax/ledger.vim b/contrib/vim/syntax/ledger.vim index aac6c2fa..1c1968e4 100644 --- a/contrib/vim/syntax/ledger.vim +++ b/contrib/vim/syntax/ledger.vim @@ -26,15 +26,21 @@ endif syntax clear " region: a transaction containing postings -syn region transNorm start=/^\d/ skip=/^\s/ end=/^/ - \ fold keepend transparent contains=transDate, Metadata +syn region transNorm start=/^[[:digit:]~]/ skip=/^\s/ end=/^/ + \ fold keepend transparent contains=transDate, Metadata, Posting syn match transDate /^\d\S\+/ contained syn match Metadata /^\s\+;.*/ contained syn match Comment /^;.*$/ +" every space in an account name shall be surrounded by two non-spaces +" every account name ends with a tab, two spaces or the end of the line +syn match Account /^\s\+\zs\%(\S\|\S \S\)\+\ze\%([ ]\{2,}\|\t\s*\|\s*$\)/ contained +syn match Posting /^\s\+[^[:blank:];].*$/ contained transparent contains=Account + -highlight default link Comment SpecialKey -highlight default link Metadata SpecialKey highlight default link transDate Question +highlight default link Metadata PreProc +highlight default link Comment Comment +highlight default link Account Identifier " syncinc is easy: search for the first transaction. syn sync clear |