branch: externals/org-contacts
commit d372cdd1315a3cc3c8d2ac67f65786dbd25ba3d6
Author: stardiviner <numbch...@gmail.com>
Commit: stardiviner <numbch...@gmail.com>

    change completion enabled custom option to optionally major mode list for 
better controlling trigger.
    
    Rename `org-contacts-enable-completion` to 
`org-contacts-completion-enabled-mode-list`.
    Its value is '(org-mode message-mode mu4e-compose-mode).
---
 org-contacts.el | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/org-contacts.el b/org-contacts.el
index dd99c4b39a..77b2174711 100644
--- a/org-contacts.el
+++ b/org-contacts.el
@@ -185,9 +185,9 @@ This overrides `org-email-link-description-format' if set."
   "Default file for vcard export."
   :type 'file)
 
-(defcustom org-contacts-enable-completion t
+(defcustom org-contacts-completion-enabled-mode-list '(org-mode message-mode 
mu4e-compose-mode)
   "Enable or not the completion in `message-mode' with `org-contacts'."
-  :type 'boolean)
+  :type '(repeat symbol))
 
 (defcustom org-contacts-complete-functions
   '(org-contacts-complete-group org-contacts-complete-tags-props 
org-contacts-complete-name)
@@ -774,7 +774,8 @@ Usage: (add-hook \\='completion-at-point-functions
 ;;;###autoload
 (defun org-contacts-org-complete-setup ()
   "Setup `completion-at-point-functions' with `org-contacts' in buffer local."
-  (add-hook 'completion-at-point-functions 'org-contacts-org-complete-function 
nil 'local))
+  (when (member major-mode org-contacts-completion-enabled-mode-list)
+    (add-hook 'completion-at-point-functions 
'org-contacts-org-complete-function nil 'local)))
 ;;;###autoload
 (add-hook 'org-mode-hook #'org-contacts-org-complete-setup)
 
@@ -1132,14 +1133,14 @@ This adds `org-contacts-gnus-check-mail-address' and
   (add-hook 'gnus-article-prepare-hook #'org-contacts-gnus-store-last-mail))
 
 ;;;###autoload
-(defun org-contacts-setup-completion-at-point ()
+(defun org-contacts-email-setup-completion-at-point ()
   "Add `org-contacts-message-complete-function' to capf for completing contact 
at point."
-  (add-hook 'completion-at-point-functions 
'org-contacts-message-complete-function nil 'local))
+  (when (member major-mode org-contacts-completion-enabled-mode-list)
+    (add-hook 'completion-at-point-functions 
'org-contacts-message-complete-function nil 'local)))
 
-(when (and org-contacts-enable-completion (boundp 
'completion-at-point-functions))
-  (add-hook 'message-mode-hook #'org-contacts-setup-completion-at-point)
-  (when (featurep 'mu4e)
-    (add-hook 'mu4e-compose-mode-hook 
'org-contacts-setup-completion-at-point)))
+(add-hook 'message-mode-hook #'org-contacts-email-setup-completion-at-point)
+(when (featurep 'mu4e)
+  (add-hook 'mu4e-compose-mode-hook 
'org-contacts-email-setup-completion-at-point))
 
 (defun org-contacts-wl-get-from-header-content ()
   "Retrieve the content of the `From' header of an email.

Reply via email to