summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrégoire Jadi <gregoire.jadi@gmail.com>2014-06-17 07:41:49 (GMT)
committer Grégoire Jadi <gregoire.jadi@gmail.com>2014-06-17 07:41:49 (GMT)
commite57c4c6e32124ba88f05746e5a2adc31632f7154 (patch)
tree0e9964f7f5e641479593b7629f357693e03ee000
parent25fc4d83447cf1df9ef48825413e9f8aea4e5c1b (diff)
downloadorg-mode-e57c4c6e32124ba88f05746e5a2adc31632f7154.zip
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.el11
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."