]> rtime.felk.cvut.cz Git - sojka/company-mode.git/commitdiff
Added support for chained predicates.
authorNikolaj Schumacher <git@nschum.de>
Thu, 19 Mar 2009 17:24:24 +0000 (18:24 +0100)
committerNikolaj Schumacher <git@nschum.de>
Fri, 20 Mar 2009 11:58:30 +0000 (12:58 +0100)
company.el

index 628ced9345be9d49e2c49d681e9576ac3e3d5711..f632baabadc0d491c5ddcad5a6ac0a8b34c8756c 100644 (file)
         (ding)
       (company-set-selection (- company-selection pos 1) t))))
 
+(defsubst company-create-match-predicate (search-string)
+  `(lambda (candidate)
+     ,(if company-candidates-predicate
+          `(and (string-match ,search-string candidate)
+                (funcall ,company-candidates-predicate candidate))
+        `(string-match ,company-search-string candidate))))
+
 (defun company-search-kill-others ()
   (interactive)
-  (let ((predicate `(lambda (candidate)
-                      (string-match ,company-search-string candidate))))
+  (let ((predicate (company-create-match-predicate company-search-string)))
     (setq company-candidates-predicate predicate)
     (company-update-candidates (company-apply-predicate company-candidates
                                                         predicate))