[Emacs] Add the ability to set completer
This commit is contained in:
parent
96371e574b
commit
8d08d746e5
@ -237,15 +237,29 @@ We're going to use this to write separate parts of our config to different secti
|
|||||||
(defun imalison:org-known-assignees ()
|
(defun imalison:org-known-assignees ()
|
||||||
imalison:org-people)
|
imalison:org-people)
|
||||||
|
|
||||||
(cl-defun imalison:set-assignee (&key assignee (override t))
|
(defun imalison:set-person-for-prop (&rest args)
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((chosen-assignee (if (called-interactively-p 'interactive)
|
(if (eq major-mode 'org-agenda-mode)
|
||||||
(completing-read "Choose assignee: "
|
(org-agenda-with-point-at-orig-entry nil
|
||||||
|
(apply 'imalison--set-person-for-prop args))
|
||||||
|
(apply 'imalison--set-person-for-prop args)))
|
||||||
|
|
||||||
|
(cl-defun imalison--set-person-for-prop (&key assignee (override t) (property "ASSIGNEE"))
|
||||||
|
(interactive)
|
||||||
|
(let ((chosen-person
|
||||||
|
(if (null assignee)
|
||||||
|
(completing-read "Choose person: "
|
||||||
(imalison:org-known-assignees)
|
(imalison:org-known-assignees)
|
||||||
nil t)
|
nil t)
|
||||||
(or assignee imalison:org-whoami))))
|
(or assignee imalison:org-whoami))))
|
||||||
(when (or override (not (org-entry-get nil "ASSIGNEE")))
|
(when (or override (not (org-entry-get nil property)))
|
||||||
(org-set-property "ASSIGNEE" chosen-assignee))))
|
(org-set-property property chosen-person))))
|
||||||
|
|
||||||
|
(defalias 'imalison:set-assignee 'imalison:set-person-for-prop)
|
||||||
|
|
||||||
|
(defun imalison:set-completer (&rest args)
|
||||||
|
(interactive)
|
||||||
|
(apply 'imalison:set-person-for-prop :property "COMPLETER" args))
|
||||||
|
|
||||||
(defun imalison:assign-to-self-if-unassigned ()
|
(defun imalison:assign-to-self-if-unassigned ()
|
||||||
(interactive)
|
(interactive)
|
||||||
|
Loading…
Reference in New Issue
Block a user