Company stands for “complete anything” and is a modular in-buffer completion mechanism. Official Website BackendsBackends are single functions, they look like this: (defun company-my-backend (command &optional arg &rest ignored) (interactive (list 'interactive)) (case command (interactive (company-begin-backend 'company-my-backend)) (prefix (when (looking-back "foo\\>") (match-string 0))) (candida