branch: externals/cape commit 5c198df8767cf9bbc4c4272142ae36c0b7681888 Author: Daniel Mendler <m...@daniel-mendler.de> Commit: Daniel Mendler <m...@daniel-mendler.de>
cape-company-to-capf: Handle updated 'prefix return value convention (Fix #146) --- cape.el | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/cape.el b/cape.el index 1554be1995..1142e7202c 100644 --- a/cape.el +++ b/cape.el @@ -811,10 +811,11 @@ again if the input prefix changed." (funcall backend 'init) (put backend 'company-init t) (setf (alist-get backend cape--company-init) t)) - (when-let ((prefix (cape--company-call backend 'prefix)) - (initial-input (if (stringp prefix) prefix (car-safe prefix)))) - (let* ((end (point)) (beg (- end (length initial-input))) - (valid (if (cape--company-call backend 'no-cache initial-input) + (when-let ((pre (pcase (cape--company-call backend 'prefix) + ((or `(,p ,_s) (and (pred stringp) p)) (cons p (length p))) + ((or `(,p ,_s ,l) `(,p . ,l)) (cons p l))))) + (let* ((end (point)) (beg (- end (length (car pre)))) + (valid (if (cape--company-call backend 'no-cache (car pre)) #'equal (or valid #'string-prefix-p))) (sort-fun (and (cape--company-call backend 'sorted) #'identity)) restore-props) @@ -835,7 +836,7 @@ again if the input prefix changed." (cons (apply-partially valid input) cands))))) :category backend :exclusive 'no - :company-prefix-length (cdr-safe prefix) + :company-prefix-length (cdr pre) :company-doc-buffer (lambda (x) (cape--company-call backend 'doc-buffer x)) :company-location (lambda (x) (cape--company-call backend 'location x)) :company-docsig (lambda (x) (cape--company-call backend 'meta x))