あらゆる入力に対し、foo bar bazの3つの候補を表示するシンプルなバックエンドを作成する。
(require 'cl-lib)
(require 'company)
(defvar company-foo-enable nil)
(defvar company-foo-debug nil)
(defun company-foo (command &optional arg &rest ignored)
"`company-mode` completion backend for simple.
Suggest foo, bar and baz.
"
(interactive (list 'interactive))
(when company-foo-debug
(message "command=%s arg=%s ignored=%s"
command arg ignored))
(cl-case command
(interactive (company-begin-backend 'company-foo))
(prefix (and company-foo-enable "aaa"))
(candidates (list "foo"
"bar"
"baz"
))))
(add-to-list 'company-backends #'company-foo)
company-foo-enableをtに設定すると補完が表示される。
(setq company-foo-enable nil)
`company-backends'のdocstringに記載されている説明がが最もよく分かる。