X-Git-Url: https://code.delx.au/gnu-emacs-elpa/blobdiff_plain/4c7d97da50790da208f87ddc6ed8112abe130ea9..3a2d33c03ac0213ab8ec4013e791d3b516f4e052:/packages/company/company-bbdb.el diff --git a/packages/company/company-bbdb.el b/packages/company/company-bbdb.el index 22741a205..58be84c77 100644 --- a/packages/company/company-bbdb.el +++ b/packages/company/company-bbdb.el @@ -27,6 +27,15 @@ (declare-function bbdb-dwim-mail "bbdb-com") (declare-function bbdb-search "bbdb-com") +(defgroup company-bbdb nil + "Completion back-end for BBDB." + :group 'company) + +(defcustom company-bbdb-modes '(message-mode) + "Major modes in which `company-bbdb' may complete." + :type '(repeat (symbol :tag "Major mode")) + :package-version '(company . "0.8.8")) + (defun company-bbdb--candidates (arg) (cl-mapcan (lambda (record) (mapcar (lambda (mail) (bbdb-dwim-mail record mail)) @@ -35,15 +44,15 @@ ;;;###autoload (defun company-bbdb (command &optional arg &rest ignore) - "`company-mode' completion back-end for `bbdb'." + "`company-mode' completion back-end for BBDB." (interactive (list 'interactive)) (cl-case command (interactive (company-begin-backend 'company-bbdb)) - (prefix (and (eq major-mode 'message-mode) + (prefix (and (memq major-mode company-bbdb-modes) (featurep 'bbdb-com) - (looking-back "^\\(To\\|Cc\\|Bcc\\):.*" + (looking-back "^\\(To\\|Cc\\|Bcc\\): *\\(.*\\)" (line-beginning-position)) - (company-grab-symbol))) + (match-string-no-properties 2))) (candidates (company-bbdb--candidates arg)) (sorted t) (no-cache t)))