views:

402

answers:

2

Every time I initiate company-mode with M-x company-mode this message shows up:

Company back-end 'company-semantic' could not be initialized
Company back-end 'company-ropemacs' could not be initialized
Company back-end 'company-pysmell' could not be initialized

The completion works but I wonder whats the meaning of that message and how to fix it.

EDIT: I moved company-semantic.el company-ropemacs.el company-pysmell.el to ~.emacs.d\plugins\company-0.4.3\unused-backends but I'm still getting that error.

+2  A: 

semantic, ropemacs and pysmell are all emacs extensions. Do you have them installed?

If you don't intend to use them, a quick workaround would be to remove or move that files that define those back-ends, which would prevent company mode from trying to load them.

cd /location/of/company
mkdir unused-backends
mv company-semantic.* company-ropemacs.* company-pysmell.* unused-backends/

As long as you do not add unused-backends to your load-path, this will fix the problem.

If you want to use those backends (semantic is a parser for better context-appropriate emacs actions based on language, pysmell and ropemacs are both for usage with python), then installing them should fix this problem.

Justin Smith
Thanks, I didn't know I had to install them separately.
janoChen
A: 

Instead of changing your company-mode install directory. Just define company-backends in your .emacs file. E.g.

(setq company-backends '(company-elisp 
                         company-ropemacs
                         company-gtags
                         company-dabbrev-code
                         company-keywords
                         company-files 
                         company-dabbrev))

Excluding the backends you do not want to support from the list.

landstatic