diff options
author | Grégoire Jadi <gregoire.jadi@gmail.com> | 2014-06-17 16:41:49 +0900 |
---|---|---|
committer | Grégoire Jadi <gregoire.jadi@gmail.com> | 2014-06-17 16:41:49 +0900 |
commit | e57c4c6e32124ba88f05746e5a2adc31632f7154 (patch) | |
tree | 0e9964f7f5e641479593b7629f357693e03ee000 | |
parent | 25fc4d83447cf1df9ef48825413e9f8aea4e5c1b (diff) | |
download | org-mode-e57c4c6e32124ba88f05746e5a2adc31632f7154.tar.gz |
contrib/lisp/org-contacts.el: Add a hook to allow users to plug completion functions
* contrib/lisp/org-contacts.el (org-contacts-complete-functions): A
hook that contains the list of functions used to complete contacts.
(org-contacts-message-complete-function): Use the new hook.
Suggested by John Kitchin.
-rw-r--r-- | contrib/lisp/org-contacts.el | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/contrib/lisp/org-contacts.el b/contrib/lisp/org-contacts.el index 7cc42fc..ac43f9d 100644 --- a/contrib/lisp/org-contacts.el +++ b/contrib/lisp/org-contacts.el @@ -183,6 +183,12 @@ This overrides `org-email-link-description-format' if set." :group 'org-contacts :type 'boolean) +(defcustom org-contacts-complete-functions + '(org-contacts-complete-group org-contacts-complete-name) + "List of functions used to complete contacts in `message-mode'." + :group 'org-contacts + :type 'hook) + ;; Decalre external functions and variables (declare-function org-reverse-string "org") (declare-function diary-ordinal-suffix "ext:diary-lib") @@ -512,7 +518,6 @@ A group FOO is composed of contacts with the tag FOO." (completion-table-case-fold completion-list (not org-contacts-completion-ignore-case)))))))) - (defun org-contacts-remove-ignored-property-values (ignore-list list) "Remove all ignore-list's elements from list and you can use regular expressions in the ignore list." @@ -570,8 +575,8 @@ A group FOO is composed of contacts with the tag FOO." (goto-char (match-end 0)) (point)))) (string (buffer-substring start end))) - (or (org-contacts-complete-group start end string) - (org-contacts-complete-name start end string)))))) + (run-hook-with-args-until-success + 'org-contacts-complete-functions start end string))))) (defun org-contacts-gnus-get-name-email () "Get name and email address from Gnus message." |