" copy to ~/.vim/syntax/hoard.vim if exists('b:current_syntax') | finish | endif syntax match hoardTxHeader "\v^\s*\d\d\d\d-\d\d-\d\d\s*:.*$" contains=hoardTxDate,hoardTxTitle syntax match hoardTxDate "\v^\s*[^:]+(:.*$)@=" contained syntax match hoardTxTitle "\v(^\s*[^:]+:\s+)@<=.{-}$" contained syntax match hoardAnnotation "\v\[.{-}\]" syntax match hoardChange "\v^\s*-\s*[^:]*\s*:\s*[-+]?\d+(\.\d*)?(\s*\=\s*[-+]?\d+(\.\d*)?)?(\s+\S+)?$" contains=hoardChangeAccount,hoardChangeDeposit,hoardChangeWithdrawal,hoardChangeBalance,hoardChangeUnit syntax match hoardChangeAccount "\v(^\s*-\s*)@<=.*(\s*:)@=" contained syntax match hoardChangeDeposit "\v(:[^=]+)@<=\+?\s*\d+(\.\d*)?" contained syntax match hoardChangeWithdrawal "\v(:[^=]+)@<=-\s*\d+(\.\d*)?" contained syntax match hoardChangeBalance "\v(\S+\s*:\s*[+-]?\d+(\.\d*)?\s*\=\s*)@<=([-+]?\d+(\.\d*)?)" contained syntax match hoardChangeUnit "\v\s+\S+$" contained syntax match hoardComment "^\s*#.*$" highlight def link hoardTxDate Keyword highlight def link hoardTxTitle Underlined highlight def link hoardAnnotation String highlight def link hoardChangeAccount Function highlight def link hoardChangeDeposit Added highlight def link hoardChangeWithdrawal Removed highlight def link hoardChangeBalance Comment highlight def link hoardChangeUnit Type highlight def link hoardComment Comment let b:current_syntax = 'hoard'