(with-temp-buffer
(company-mode)
(let (company-frontends
+ company-transformers
(company-backends (list 'company-async-backend)))
(company-manual-begin)
(should (equal "foo" company-prefix))
(with-temp-buffer
(company-mode)
(let (company-frontends
+ company-transformers
(company-backends (list 'company-async-backend)))
(company-idle-begin (current-buffer) (selected-window)
(buffer-chars-modified-tick) (point))
(should (null company-candidates))
(insert "a")
(sleep-for 0.1)
- (should (null company-prefix))
(should (null company-candidates)))))
(ert-deftest company-idle-begin-async-allows-immediate-callbacks ()
(lambda (candidate)
(when (or
(save-excursion
- (progn (forward-line 0)
+ (progn (forward-char (- (length company-prefix)))
(search-backward candidate (window-start) t)))
(save-excursion
(search-forward candidate (window-end) t)))
(company--multi-backend-adapter backend 'prefix)))
(when prefix
(when (company--good-prefix-p prefix)
- (setq prefix (or (car-safe prefix) prefix)
+ (setq company-prefix (or (car-safe prefix) prefix)
company-backend backend
- c (company-calculate-candidates prefix))
+ c (company-calculate-candidates company-prefix))
;; t means complete/unique. We don't start, so no hooks.
(if (not (consp c))
(when company--manual-action
(message "No completion found"))
- (setq company-prefix prefix)
(when company--manual-action
(setq company--manual-prefix prefix))
(when (symbolp backend)