[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 07/30: company-create-match-predicate: Just replace the predicate
From: |
Dmitry Gutov |
Subject: |
[elpa] 07/30: company-create-match-predicate: Just replace the predicate |
Date: |
Tue, 14 Oct 2014 22:22:46 +0000 |
dgutov pushed a commit to branch master
in repository elpa.
commit bdf34de11268d11068c9b411c65897717afeb738
Author: Dmitry Gutov <address@hidden>
Date: Sun Sep 28 04:57:05 2014 +0400
company-create-match-predicate: Just replace the predicate
Building on the previous one is ridiculous, because the main use case is
company-search-mode, and any previous search string is a prefix of the
current
one. With company-filter-candidates, it was especially wasteful.
---
company.el | 10 +++-------
1 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/company.el b/company.el
index a721366..8cb12e3 100644
--- a/company.el
+++ b/company.el
@@ -1607,13 +1607,9 @@ from the rest of the back-ends in the group, if any,
will be left at the end."
(company-set-selection (- company-selection pos 1) t))))
(defun company-create-match-predicate ()
- (setq company-candidates-predicate
- `(lambda (candidate)
- ,(if company-candidates-predicate
- `(and (string-match ,company-search-string candidate)
- (funcall ,company-candidates-predicate
- candidate))
- `(string-match ,company-search-string candidate))))
+ (let ((ss company-search-string))
+ (setq company-candidates-predicate
+ (when ss (lambda (candidate) (string-match ss candidate)))))
(company-update-candidates
(company-apply-predicate company-candidates company-candidates-predicate))
;; Invalidate cache.
- [elpa] branch master updated (a7fe5bb -> 0750e13), Dmitry Gutov, 2014/10/14
- [elpa] 01/30: Fix company-yasnippet compilation without yasnippet, Dmitry Gutov, 2014/10/14
- [elpa] 04/30: company-gtags: Don't try to complete in non-file buffers, Dmitry Gutov, 2014/10/14
- [elpa] 03/30: Merge pull request #191 from jorgenschaefer/master, Dmitry Gutov, 2014/10/14
- [elpa] 02/30: Use read-kbd-macro instead of kbd as a function., Dmitry Gutov, 2014/10/14
- [elpa] 06/30: company-search-printing-char: Don't update company-search-string when no match, Dmitry Gutov, 2014/10/14
- [elpa] 05/30: company--insert-candidate: Don't use `insert-before-markers', Dmitry Gutov, 2014/10/14
- [elpa] 07/30: company-create-match-predicate: Just replace the predicate,
Dmitry Gutov <=
- [elpa] 08/30: company-post-command: Handle being called after quitting, Dmitry Gutov, 2014/10/14
- [elpa] 09/30: company-files.el: Change regexp prefix, Dmitry Gutov, 2014/10/14
- [elpa] 10/30: Update docstring, change words, bump copyright year, Dmitry Gutov, 2014/10/14
- [elpa] 13/30: Update a comment, Dmitry Gutov, 2014/10/14
- [elpa] 11/30: company-files-complete: Include mtime in the cache key, Dmitry Gutov, 2014/10/14
- [elpa] 15/30: company-files: Fix cache behavior for when we're backspacing, Dmitry Gutov, 2014/10/14
- [elpa] 16/30: company-file--keys-match-p: Handle OLD being nil, Dmitry Gutov, 2014/10/14
- [elpa] 17/30: company-begin-commands: Add `orgtbl-self-insert-command', Dmitry Gutov, 2014/10/14
- [elpa] 19/30: company-clang-arguments: Fix default element value, Dmitry Gutov, 2014/10/14
- [elpa] 21/30: company-call-backend-raw: Use `condition-case-unless-debug', too, Dmitry Gutov, 2014/10/14