Merge pull request #176 from georgek/regex
OK, lets try again. Thanks for working on this!
This commit is contained in:
commit
524ec0b614
3 changed files with 70 additions and 59 deletions
|
|
@ -124,6 +124,7 @@ Return list."
|
|||
root (cdr xact))
|
||||
(setq root nil elements nil)))
|
||||
(setq elements (cdr elements)))
|
||||
(setq root (delete (list (car elements) t) root))
|
||||
(and root
|
||||
(sort
|
||||
(mapcar (function
|
||||
|
|
@ -144,9 +145,12 @@ Return list."
|
|||
(if (eq (save-excursion
|
||||
(ledger-thing-at-point)) 'transaction)
|
||||
(if (null current-prefix-arg)
|
||||
(ledger-payees-in-buffer) ;; this completes against payee names
|
||||
(delete
|
||||
(caar (ledger-parse-arguments))
|
||||
(ledger-payees-in-buffer)) ;; this completes against payee names
|
||||
(progn
|
||||
(let ((text (buffer-substring-no-properties (line-beginning-position)
|
||||
(let ((text (buffer-substring-no-properties
|
||||
(line-beginning-position)
|
||||
(line-end-position))))
|
||||
(delete-region (line-beginning-position)
|
||||
(line-end-position))
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ Can indent, complete or align depending on context."
|
|||
(if (= (point) (line-beginning-position))
|
||||
(indent-to ledger-post-account-alignment-column)
|
||||
(save-excursion
|
||||
(re-search-backward ledger-account-or-metadata-regex
|
||||
(re-search-backward
|
||||
(rx-static-or ledger-account-any-status-regex
|
||||
ledger-metadata-regex
|
||||
ledger-payee-any-status-regex)
|
||||
(line-beginning-position) t))
|
||||
(when (= (point) (match-end 0))
|
||||
(ledger-pcomplete interactively))))
|
||||
|
|
|
|||
|
|
@ -46,16 +46,16 @@
|
|||
"^[;#|\\*%].*\\|[ \t]+;.*")
|
||||
|
||||
(defconst ledger-payee-any-status-regex
|
||||
"^[0-9/.=-]+\\(\\s-+\\*\\)?\\(\\s-+(.*?)\\)?\\s-+\\(.+?\\)\\(\t\\|\n\\| [ \t]\\)")
|
||||
"^[0-9]+[-/][-/.=0-9]+\\(\\s-+\\*\\)?\\(\\s-+(.*?)\\)?\\s-+\\(.+?\\)\\s-*\\(;\\|$\\)")
|
||||
|
||||
(defconst ledger-payee-pending-regex
|
||||
"^[0-9]+[-/][-/.=0-9]+\\s-\\!\\s-+\\(([^)]+)\\s-+\\)?\\([^*].+?\\)\\(;\\|$\\)")
|
||||
"^[0-9]+[-/][-/.=0-9]+\\s-\\!\\s-+\\(([^)]+)\\s-+\\)?\\([^*].+?\\)\\s-*\\(;\\|$\\)")
|
||||
|
||||
(defconst ledger-payee-cleared-regex
|
||||
"^[0-9]+[-/][-/.=0-9]+\\s-\\*\\s-+\\(([^)]+)\\s-+\\)?\\([^*].+?\\)\\(;\\|$\\)")
|
||||
"^[0-9]+[-/][-/.=0-9]+\\s-\\*\\s-+\\(([^)]+)\\s-+\\)?\\([^*].+?\\)\\s-*\\(;\\|$\\)")
|
||||
|
||||
(defconst ledger-payee-uncleared-regex
|
||||
"^[0-9]+[-/][-/.=0-9]+\\s-+\\(([^)]+)\\s-+\\)?\\([^*].+?\\)\\(;\\|$\\)")
|
||||
"^[0-9]+[-/][-/.=0-9]+\\s-+\\(([^)]+)\\s-+\\)?\\([^*].+?\\)\\s-*\\(;\\|$\\)")
|
||||
|
||||
(defconst ledger-init-string-regex
|
||||
"^--.+?\\($\\|[ ]\\)")
|
||||
|
|
@ -78,7 +78,11 @@
|
|||
"\\|"
|
||||
ledger-metadata-regex))
|
||||
|
||||
|
||||
(defmacro rx-static-or (&rest rx-strs)
|
||||
"Returns rx union of regexps which can be symbols that eval to strings."
|
||||
`(rx (or ,@(mapcar #'(lambda (rx-str)
|
||||
`(regexp ,(eval rx-str)))
|
||||
rx-strs))))
|
||||
|
||||
(defmacro ledger-define-regexp (name regex docs &rest args)
|
||||
"Simplify the creation of a Ledger regex and helper functions."
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue