;;; Code:
-(eval-when-compile (require 'cl))
(require 'ert)
(require 'company)
(require 'company-keywords)
(let (company-frontends
(company-backends
(list (lambda (command &optional arg)
- (case command
+ (cl-case command
(prefix (buffer-substring (point-min) (point)))
(candidates '("abc" "abd")))))))
(company-manual-begin)
(ert-deftest company-multi-backend-with-lambdas ()
(let ((company-backend
(list (lambda (command &optional arg &rest ignore)
- (case command
+ (cl-case command
(prefix "z")
(candidates '("a" "b"))))
(lambda (command &optional arg &rest ignore)
- (case command
+ (cl-case command
(prefix "z")
(candidates '("c" "d")))))))
(should (equal (company-call-backend 'candidates "z") '("a" "b" "c" "d")))))
(ert-deftest company-multi-backend-remembers-candidate-backend ()
(let ((company-backend
(list (lambda (command &optional arg)
- (case command
+ (cl-case command
(ignore-case nil)
(annotation "1")
(candidates '("a" "c"))
(post-completion "13")))
(lambda (command &optional arg)
- (case command
+ (cl-case command
(ignore-case t)
(annotation "2")
(candidates '("b" "d"))
(post-completion "42")))
(lambda (command &optional arg)
- (case command
+ (cl-case command
(annotation "3")
(candidates '("e"))
(post-completion "74"))))))
(ert-deftest company-multi-backend-handles-keyword-with ()
(let ((primo (lambda (command &optional arg)
- (case command
+ (cl-case command
(prefix "a")
(candidates '("abb" "abc" "abd")))))
(secundo (lambda (command &optional arg)
- (case command
+ (cl-case command
(prefix "a")
(candidates '("acc" "acd"))))))
(let ((company-backend (list 'ignore 'ignore :with secundo)))
(let (company-frontends
(company-backends
(list (lambda (command &optional arg)
- (case command
+ (cl-case command
(prefix "a")
(candidates '("a" "ab" "ac")))))))
(let (this-command)
(company-require-match 'company-explicit-action-p)
(company-backends
(list (lambda (command &optional arg)
- (case command
+ (cl-case command
(prefix (buffer-substring (point-min) (point)))
(candidates '("abc" "abd")))))))
(let (this-command)
(company-require-match 'company-explicit-action-p)
(company-backends
(list (lambda (command &optional arg)
- (case command
+ (cl-case command
(prefix (buffer-substring (point-min) (point)))
(candidates '("abc" "abd")))))))
(company-idle-begin (current-buffer) (selected-window)
company-begin-commands
(company-backends
(list (lambda (command &optional arg)
- (case command
+ (cl-case command
(prefix (buffer-substring (point-min) (point)))
(candidates '("abc" "abd")))))))
(let ((company-continue-commands nil))
company-begin-commands
(company-backends
(list (lambda (command &optional arg)
- (case command
+ (cl-case command
(prefix (buffer-substring (point-min) (point)))
(candidates '("abc" "abd")))))))
(let ((company-continue-commands '(not backward-delete-char)))
(company-auto-complete-chars '(? ))
(company-backends
(list (lambda (command &optional arg)
- (case command
+ (cl-case command
(prefix (buffer-substring (point-min) (point)))
(candidates '("abcd" "abef")))))))
(let (this-command)
(company-auto-complete-chars '(? ))
(company-backends
(list (lambda (command &optional arg)
- (case command
+ (cl-case command
(prefix (buffer-substring (point-min) (point)))
(candidates '("abcd" "abef")))))))
(company-idle-begin (current-buffer) (selected-window)
company-end-of-buffer-workaround
(company-backends
(list (lambda (command &optional arg)
- (case command
+ (cl-case command
(prefix (buffer-substring (point-min) (point)))
(candidates '("abcd" "abef"))
(ignore-case t))))))
(let (company-frontends
(company-backends
(list (lambda (command &optional arg)
- (case command
+ (cl-case command
(prefix (buffer-substring (point-min) (point)))
(candidates '("abcd" "abef"))
(ignore-case 'keep-prefix))))))
company-end-of-buffer-workaround
(company-backends
(list (lambda (command &optional arg)
- (case command
+ (cl-case command
(prefix (buffer-substring (point-min) (point)))
(candidates '("tea-cup" "teal-color")))))))
(let (this-command)
(company-begin-commands '(self-insert-command))
(company-backends
(list (lambda (c &optional arg)
- (case c (prefix "") (candidates '("a" "b" "c")))))))
+ (cl-case c (prefix "") (candidates '("a" "b" "c")))))))
(let (this-command)
(company-call 'complete))
(company-call 'open-line 1)