]> code.delx.au - gnu-emacs-elpa/blobdiff - company-bbdb.el
company-bbdb: Use the whole line content after `: ' as prefix
[gnu-emacs-elpa] / company-bbdb.el
index acdd30ac14922aeb683bb1e14984cd3202736c06..b2760b2906634b20e80cde6f8f229f890e4d8cac 100644 (file)
 (declare-function bbdb-dwim-mail "bbdb-com")
 (declare-function bbdb-search "bbdb-com")
 
+(defun company-bbdb--candidates (arg)
+  (cl-mapcan (lambda (record)
+               (mapcar (lambda (mail) (bbdb-dwim-mail record mail))
+                       (bbdb-record-get-field record 'mail)))
+             (eval '(bbdb-search (bbdb-records) arg nil arg))))
+
 ;;;###autoload
 (defun company-bbdb (command &optional arg &rest ignore)
   "`company-mode' completion back-end for `bbdb'."
     (interactive (company-begin-backend 'company-bbdb))
     (prefix (and (eq major-mode 'message-mode)
                  (featurep 'bbdb-com)
-                 (looking-back "^\\(To\\|Cc\\|Bcc\\):.*"
+                 (looking-back "^\\(To\\|Cc\\|Bcc\\): *\\(.*\\)"
                                (line-beginning-position))
-                 (company-grab-symbol)))
-    (candidates (cl-mapcan (lambda (record)
-                             (mapcar (lambda (mail) (bbdb-dwim-mail record mail))
-                                     (bbdb-record-get-field record 'mail)))
-                           (bbdb-search (bbdb-records) arg nil arg)))
+                 (match-string-no-properties 2)))
+    (candidates (company-bbdb--candidates arg))
     (sorted t)
     (no-cache t)))