diff options
author | paulbdavis <paul@dangersalad.com> | 2015-09-18 01:40:35 -0400 |
---|---|---|
committer | paulbdavis <paul@dangersalad.com> | 2015-09-18 09:31:04 -0400 |
commit | 92aead05ffba1966216e0cb40bf0ae192f001747 (patch) | |
tree | 718c48954bc8580a8bd003984e45a1404a4c54d1 /lisp | |
parent | 36de1868791cbb0fa36636494c68afcdb43e502b (diff) | |
download | fork-ledger-92aead05ffba1966216e0cb40bf0ae192f001747.tar.gz fork-ledger-92aead05ffba1966216e0cb40bf0ae192f001747.tar.bz2 fork-ledger-92aead05ffba1966216e0cb40bf0ae192f001747.zip |
fontify recurring transaction in ledger-mode [ci skip]
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ledger-fontify.el | 3 | ||||
-rw-r--r-- | lisp/ledger-navigate.el | 2 | ||||
-rw-r--r-- | lisp/ledger-regex.el | 16 |
3 files changed, 19 insertions, 2 deletions
diff --git a/lisp/ledger-fontify.el b/lisp/ledger-fontify.el index 2d4f850e..076e52b7 100644 --- a/lisp/ledger-fontify.el +++ b/lisp/ledger-fontify.el @@ -46,7 +46,8 @@ (beginning-of-line) (while (< (point) end) (cond ((or (looking-at ledger-xact-start-regex) - (looking-at ledger-posting-regex)) + (looking-at ledger-posting-regex) + (looking-at ledger-recurring-line-regexp)) (ledger-fontify-xact-at (point))) ((looking-at ledger-directive-start-regex) (ledger-fontify-directive-at (point)))) diff --git a/lisp/ledger-navigate.el b/lisp/ledger-navigate.el index 4da857a7..7ac440f7 100644 --- a/lisp/ledger-navigate.el +++ b/lisp/ledger-navigate.el @@ -158,7 +158,7 @@ Requires empty line separating xacts." (save-excursion (goto-char pos) (beginning-of-line) - (if (looking-at "[ =~0-9]") + (if (looking-at "[ =~0-9\\[]") (ledger-navigate-find-xact-extents pos) (ledger-navigate-find-directive-extents pos)))) diff --git a/lisp/ledger-regex.el b/lisp/ledger-regex.el index 9d8394df..5d525d95 100644 --- a/lisp/ledger-regex.el +++ b/lisp/ledger-regex.el @@ -238,6 +238,22 @@ code (note end-note)) +(ledger-define-regexp recurring-line + (macroexpand + `(rx (and line-start + (regexp "\\[.+/.+/.+\\]") + (? (and (+ blank) (regexp ,ledger-state-regexp))) + (? (and (+ blank) (regexp ,ledger-code-regexp))) + (+ blank) (+? nonl) + (? (regexp ,ledger-end-note-regexp)) + line-end))) + "Match a transaction's first line (and optional notes)." + (actual-date full-date actual) + (effective-date full-date effective) + state + code + (note end-note)) + (ledger-define-regexp account (rx (group (and (not (any blank ?\[ ?\( ?: ?\;)) (*? nonl)))) "") |