diff options
author | Franck Cuny <franck@fcuny.net> | 2024-09-06 13:42:41 -0700 |
---|---|---|
committer | Franck Cuny <franck@fcuny.net> | 2024-09-06 13:42:41 -0700 |
commit | 3921a92dd1155400376d7cdda877b5655c454d99 (patch) | |
tree | 4d5203ce6287643dd33572ed86d47c50c97e571b | |
parent | add new binding for denote (diff) | |
download | emacs.d-3921a92dd1155400376d7cdda877b5655c454d99.tar.gz |
refile tasks where I want them to be
-rw-r--r-- | config/init-notes.el | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/config/init-notes.el b/config/init-notes.el index b00626a..277b156 100644 --- a/config/init-notes.el +++ b/config/init-notes.el @@ -48,6 +48,20 @@ (org-mode . visual-line-mode) (org-mode . org-indent-mode) + :preface + (defun my/org-entry-get-immediate (property) + (save-excursion + (let ((local (org--property-local-values property nil))) + (and local (mapconcat #'identity + (delq nil local) + (org--property-get-separator property)))))) + + (defun org-refile-heading-p () + (let ((todo-state (org-get-todo-state))) + (if todo-state + (string= todo-state "PROJECT") + (my/org-entry-get-immediate "CATEGORY")))) + :custom (org-directory "~/Documents/notes") (org-default-notes-file (expand-file-name "tasks.org" org-directory)) @@ -64,15 +78,17 @@ ;; quick access for todo states (org-todo-keywords '((sequence "TODO(t)" "NEXT(n)" "WAITING(w!)" "|" "DONE(d)") + (sequence "PROJECT(p@/!)" "|" "COMPLETE(d@/!)" "ABORTED(x@/!)") (sequence "|" "CANCELLED(c)"))) (org-log-done 'time) (org-log-into-drawer t) ;; org-refile options + (org-refile-target-verify-function 'org-refile-heading-p) + (org-refile-targets + '((org-agenda-files :maxlevel . 4))) (org-refile-allow-creating-parent-nodes (quote confirm)) - (org-refile-targets '(("tasks.org" :tag . "project"))) - (org-refile-use-outline-path 'file) (org-hide-emphasis-markers t) (org-hide-leading-stars t) |