From 56bf9566d2d1ff6814ec32e38550c84962d7f15b Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Fri, 23 Jun 2023 09:42:22 +1000 Subject: adding votes to org entries --- emacs/.emacs.d/init/ycp-org.el | 2 ++ emacs/.emacs.d/lisp/my/my-org.el | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/emacs/.emacs.d/init/ycp-org.el b/emacs/.emacs.d/init/ycp-org.el index 93d192f..6dbc26e 100644 --- a/emacs/.emacs.d/init/ycp-org.el +++ b/emacs/.emacs.d/init/ycp-org.el @@ -250,6 +250,8 @@ (setq org-use-speed-commands t) (setq org-speed-commands '(("User commands") + ("+" . my-org-vote-up) + ("-" . my-org-vote-down) ("m" . my-magit-clone-org-source) ("c" . my-org-copy-property-value) ("x" . my-org-osm-goto) diff --git a/emacs/.emacs.d/lisp/my/my-org.el b/emacs/.emacs.d/lisp/my/my-org.el index cb72677..28c5354 100644 --- a/emacs/.emacs.d/lisp/my/my-org.el +++ b/emacs/.emacs.d/lisp/my/my-org.el @@ -999,5 +999,19 @@ When BLOCK-REGEXP is non-nil, use this regexp to find blocks." ((org-footnote-at-reference-p) nil) (t (apply orig-fun args))))) +(defun my-org-vote-up (&optional points) + (interactive "p") + (org-entry-put + (point) + "Vote" + (number-to-string + (+ (or points 1) + (string-to-number + (or (org-entry-get (point) "Vote") "0")))))) + +(defun my-org-vote-down (&optional points) + (interactive "p") + (my-org-vote-up (- points))) + (provide 'my-org) ;;; my-org.el ends here -- cgit v1.2.3