From bf2b476f01f5a9b8c48d6846f52bc2a69498d61f Mon Sep 17 00:00:00 2001 From: Michael McClimon Date: Tue, 4 Jul 2017 17:34:39 -0400 Subject: [PATCH 1/2] Use different faces for cleared/uncleared xacts. --- ftplugin/ledger.vim | 11 +++++------ syntax/ledger.vim | 12 ++++++++---- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/ftplugin/ledger.vim b/ftplugin/ledger.vim index 257916d..554e8cd 100644 --- a/ftplugin/ledger.vim +++ b/ftplugin/ledger.vim @@ -160,12 +160,11 @@ endif " }}} " Highlight groups for Ledger reports {{{ -hi! link LedgerNumber Number -hi! link LedgerNegativeNumber Special -hi! link LedgerCleared Constant -hi! link LedgerPending Todo -hi! link LedgerTarget Statement -hi! link LedgerImproperPerc Special +hi link LedgerNumber Number +hi link LedgerNegativeNumber Special +hi link LedgerPending Todo +hi link LedgerTarget Statement +hi link LedgerImproperPerc Special " }}} let s:rx_amount = '\('. diff --git a/syntax/ledger.vim b/syntax/ledger.vim index 449968b..bd577d8 100644 --- a/syntax/ledger.vim +++ b/syntax/ledger.vim @@ -29,7 +29,9 @@ syntax clear exe 'syn region ledgerTransaction start=/^[[:digit:]~=]/ '. \ 'skip=/^\s'. s:skip . '/ end=/^/ fold keepend transparent '. - \ 'contains=ledgerTransactionDate,ledgerMetadata,ledgerPosting,ledgerTransactionExpression' + \ 'contains=ledgerCleared,ledgerUncleared,ledgerMetadata,ledgerPosting,ledgerTransactionExpression' +syn match ledgerCleared /^\d\S\+ \* .*$/ contained contains=ledgerTransactionDate +syn match ledgerUncleared /^\d\S\+ [^*].*$/ contained contains=ledgerTransactionDate syn match ledgerTransactionDate /^\d\S\+/ contained syn match ledgerTransactionExpression /^[=~]\s\+\zs.*/ contained syn match ledgerPosting /^\s\+[^[:blank:];][^;]*\ze\%($\|;\)/ @@ -70,7 +72,6 @@ exe 'syn match ledgerApplyHead '. \ '/'.s:oe.'\%(^apply\s\+\)\@<=\S.*$/ contained' highlight default link ledgerComment Comment -highlight default link ledgerTransactionDate Constant highlight default link ledgerTransactionExpression Statement highlight default link ledgerMetadata Tag highlight default link ledgerTypedTag Keyword @@ -84,9 +85,12 @@ highlight default link ledgerAmount Number highlight default link ledgerPreDeclarationType Type highlight default link ledgerPreDeclarationName Identifier highlight default link ledgerPreDeclarationDirective Type - +highlight default link ledgerTransactionDate String +highlight default link ledgerCleared String +highlight default link ledgerUncleared Statement + " syncinc is easy: search for the first transaction. syn sync clear syn sync match ledgerSync grouphere ledgerTransaction "^[[:digit:]~=]" - + let b:current_syntax = "ledger" From fcc1ad64008749b00ce7c4839bbed4c2e1ede0b6 Mon Sep 17 00:00:00 2001 From: Michael McClimon Date: Tue, 4 Jul 2017 17:35:15 -0400 Subject: [PATCH 2/2] Link Metadata to comment face --- syntax/ledger.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntax/ledger.vim b/syntax/ledger.vim index bd577d8..0926ab3 100644 --- a/syntax/ledger.vim +++ b/syntax/ledger.vim @@ -73,7 +73,7 @@ exe 'syn match ledgerApplyHead '. highlight default link ledgerComment Comment highlight default link ledgerTransactionExpression Statement -highlight default link ledgerMetadata Tag +highlight default link ledgerMetadata Comment highlight default link ledgerTypedTag Keyword highlight default link ledgerValueTag Type highlight default link ledgerTag Type