Add: (org-ql-refile)
This commit is contained in:
parent
cfa3b307ec
commit
7f4faff27b
3 changed files with 119 additions and 70 deletions
|
|
@ -84,6 +84,35 @@ single predicate)."
|
|||
(select-window (get-buffer-window (current-buffer)))
|
||||
(run-hook-with-args 'org-ql-find-goto-hook))))
|
||||
|
||||
;;;###autoload
|
||||
(defun org-ql-refile (marker)
|
||||
"Refile current entry to MARKER (interactively, one selected with `org-ql').
|
||||
Interactive completion uses files listed in `org-refile-targets',
|
||||
which see (but only the files are used)."
|
||||
(interactive (let ((buffers-files (delete-dups
|
||||
;; Always include the current buffer.
|
||||
(cons (current-buffer)
|
||||
(cl-loop for (files-spec . _candidate-spec) in org-refile-targets
|
||||
append (cl-typecase files-spec
|
||||
(null (list (current-buffer)))
|
||||
(symbol (pcase (funcall files-spec)
|
||||
((and (pred stringp) file) (list file))
|
||||
((and (pred listp) files) files)))
|
||||
(list files-spec)))))))
|
||||
(list (org-ql-completing-read buffers-files :prompt "Refile to: "))))
|
||||
(org-refile nil nil
|
||||
;; The RFLOC argument:
|
||||
(list
|
||||
;; Name
|
||||
(org-with-point-at marker
|
||||
(nth 4 (org-heading-components)))
|
||||
;; File
|
||||
(buffer-file-name (marker-buffer marker))
|
||||
;; nil
|
||||
nil
|
||||
;; Position
|
||||
marker)))
|
||||
|
||||
;;;###autoload
|
||||
(defun org-ql-find-in-agenda ()
|
||||
"Call `org-ql-find' on `org-agenda-files'."
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue