diff options
-rw-r--r-- | lisp/ledger-fontify.el | 29 | ||||
-rw-r--r-- | lisp/ledger-regex.el | 13 |
2 files changed, 23 insertions, 19 deletions
diff --git a/lisp/ledger-fontify.el b/lisp/ledger-fontify.el index caf7690a..7d3c3e21 100644 --- a/lisp/ledger-fontify.el +++ b/lisp/ledger-fontify.el @@ -79,20 +79,21 @@ Fontify the first line of an xact" (goto-char pos) (beginning-of-line) - (let ((state nil)) - (re-search-forward ledger-xact-start-regex) - (ledger-fontify-set-face (list (match-beginning 1) (match-end 1)) 'ledger-font-posting-date-face) - (save-match-data (setq state (ledger-state-from-string (match-string 5)))) - (ledger-fontify-set-face (list (match-beginning 7) (match-end 7)) - (cond ((eq state 'pending) - 'ledger-font-payee-pending-face) - ((eq state 'cleared) - 'ledger-font-payee-cleared-face) - (t - 'ledger-font-payee-uncleared-face))) - (ledger-fontify-set-face (list (match-beginning 8) - (match-end 8)) 'ledger-font-comment-face))) - + (let ((state nil) + (cur-point (point))) + (re-search-forward " ") + (ledger-fontify-set-face (list cur-point (point)) 'ledger-font-posting-date-face) + (re-search-forward ledger-xact-after-date-regex) + (save-match-data (setq state (ledger-state-from-string (match-string 1))) + (ledger-fontify-set-face (list (match-beginning 3) (match-end 3)) + (cond ((eq state 'pending) + 'ledger-font-payee-pending-face) + ((eq state 'cleared) + 'ledger-font-payee-cleared-face) + (t + 'ledger-font-payee-uncleared-face)))) + (ledger-fontify-set-face (list (match-beginning 4) + (match-end 4)) 'ledger-font-comment-face))) (defun ledger-fontify-posting (pos) (let* ((state nil) diff --git a/lisp/ledger-regex.el b/lisp/ledger-regex.el index b13647b5..91c715a3 100644 --- a/lisp/ledger-regex.el +++ b/lisp/ledger-regex.el @@ -334,11 +334,14 @@ (defconst ledger-xact-start-regex (concat "^" ledger-iso-date-regexp ;; subexp 1 - ;; "\\(=" ledger-iso-date-regexp "\\)?" - " ?\\([ *!]\\)" ;; mark, subexp 5 - " ?\\((.*)\\)?" ;; code, subexp 6 - " ?\\([^;\n]+\\)" ;; desc, subexp 7 - "\\(\n\\|;.*\\)" ;; comment, subexp 8 + "\\(=" ledger-iso-date-regexp "\\)?" + )) + +(defconst ledger-xact-after-date-regex + (concat " ?\\([ *!]\\)" ;; mark, subexp 1 + " ?\\((.*)\\)?" ;; code, subexp 2 + " ?\\([^;\n]+\\)" ;; desc, subexp 3 + "\\(\n\\|;.*\\)" ;; comment, subexp 4 )) (defconst ledger-posting-regex |