dotfiles/vim/syntax/ledger.vim
2011-05-03 21:53:50 -07:00

28 lines
1.1 KiB
VimL

syn case ignore
syn keyword bangDirective include account end transparent contained containedin=ledgerDirective
syn keyword periodRecurring daily weekly biweekly monthly bimonthly quarterly yearly contained containedin=ledgerPeriodEntry
syn keyword periodSingle day week month quarter year contained containedin=periodEvery
syn keyword periodPlural days weeks months quarters years contained containedin=periodEveryN
syn match periodEvery 'every\s\+' nextgroup=periodSingle
syn match periodEveryN 'every \(\d\+\)\=\s\+' nextgroup=periodPlural
syn case match
syn match ledgerComment '^;.*'
syn match ledgerCommand '^[YPNDC]'
syn match ledgerDirective '^!' nextgroup=bangDirective
syn match ledgerPeriodEntry '^\~\s*.*'he=s contains=periodRecurring,periodEvery,periodEveryN
"syn match ledgerAutomatedEntry '^=\s*'he=s contains=valueExpression
hi def link ledgerComment Comment
hi def link ledgerCommand Keyword
hi def link ledgerDirective Special
hi def link ledgerPeriodEntry Special
hi def link periodRecurring Keyword
hi def link periodSingle Keyword
hi def link periodPlural Keyword
hi def link periodEvery Keyword
hi def link periodEveryN Keyword