ソースを参照

clone-entry, journal-entries, query comment:

Innocenty Enikeew 8 年 前
コミット
f5bfbae8e6
3 ファイル変更13 行追加2 行削除
  1. 3 1
      package.lisp
  2. 3 0
      parsing.lisp
  3. 7 1
      pta-ledger.lisp

+ 3 - 1
package.lisp

@@ -35,7 +35,9 @@
            #:parse-error-position
            #:parse-error-left-data
            #:render
+           #:journal-entries
            #:journal-accounts
-           #:journal-print))
+           #:journal-print
+           #:clone-entry))
 
 (in-package #:pta-ledger)

+ 3 - 0
parsing.lisp

@@ -419,6 +419,8 @@
                        (.query-value-regex))
        (.query-coloned :date (.query-entryp "date" #'entry-date)
                        (.query-value-period))
+       (.query-coloned :comment (.query-entryp "comment" #'entry-comment)
+                       (.query-value-regex))
        (.let* ((value (.query-value-regex)))
          (.identity (cons :acct
                           #'(lambda (entry posting)
@@ -440,6 +442,7 @@
     (loop for (type . f) in terms
        do (case type
             (:desc (push f desc))
+            (:comment (push f desc))
             (:acct (push f acct))
             (:status (push f status))
             (otherwise (push f other))))

+ 7 - 1
pta-ledger.lisp

@@ -125,5 +125,11 @@
   (accounts (entries journal)
             :predicate (when query (parse-query query))))
 
+(defun journal-entries (journal &optional query)
+  (entries journal (when query (parse-query query))))
+
 (defun journal-print (journal &optional query)
-  (mapcar #'render (entries journal (when query (parse-query query)))))
+  (mapcar #'render (journal-entries journal query)))
+
+(defun clone-entry (entry)
+  (parse (.entry) (render entry)))