branch: elpa/beancount
commit e32e44e8d256578fe44da432849b3f8282526adc
Author: blais <[email protected]>
Commit: blais <[email protected]>
Added personal binding to aggregate balance binding.
---
etc/emacsrc | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/etc/emacsrc b/etc/emacsrc
index 03c2b3cfab..7fc8bf450b 100644
--- a/etc/emacsrc
+++ b/etc/emacsrc
@@ -79,3 +79,23 @@
sql)))
(define-key* beancount-mode-map [(control c)(j)]
#'beancount-query-journal-at-point)
+
+
+;; TODO: Refine this a bit later on.
+(defvar beancount-balance-command
+ (concat
+ "select account, sum(position) "
+ "where account ~ '%s' "
+ "group by 1 "
+ "order by 1"))
+
+(defun beancount-query-balance-at-point ()
+ "Run a balance command for the account at point."
+ (interactive)
+ (let* ((account (thing-at-point 'beancount-account))
+ (sql (concat "\"" (format beancount-balance-command account) "\"")))
+ (beancount--run beancount-query-program
+ (file-relative-name buffer-file-name)
+ sql)))
+
+(define-key* beancount-mode-map [(control c)(shift j)]
#'beancount-query-balance-at-point)