This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/contrib/company-mode
syl20bnr c291d0e9c3 Temporarily remove company-yasnippet backend
I have to investigate why it triggers some weird side
effects with anaconda source.
2015-03-23 00:48:06 -04:00
..
config.el Heavy refactoring of company-mode layer 2015-03-22 02:23:12 -04:00
funcs.el Temporarily remove company-yasnippet backend 2015-03-23 00:48:06 -04:00
packages.el Correctly fix the company transformer 2015-03-23 00:22:27 -04:00
README.md Update company-mode documentation 2015-02-24 20:51:12 -05:00

Company Mode

This contrib layer switches spacemacs to use company-mode for autocompletion. It automatically uninstalls all auto-complete-mode related packages when you include it.

Clang Fanciness

In funcs.el there are some fancy improvements to company-clang. It includes a hook to load a projects .clang_complete file, which is just a text file with one clang flag per line, a format also used by other text editor clang plugins.

Not only does this allow proper autocomplete on projects with extra includes and flags, but I also hooked it into flycheck so that the error messages don't complain about missing header files and skip the actual problems.

Basically, Spacemacs now has better Clang/C++ than any other Emacs config.

Key Bindings

No Debug         |                 Description

---------------------|------------------------------------------------------------ C-j | go down in company dropdown menu C-k | go up in company dropdown menu C-/ | search in company dropdown C-M-/ | filter the company dropdown menu C-d | open minibuffer with documentation of thing at point in company dropdown

Settings

To use tab instead of enter to complete your selection, dotspacemacs/init set company-mode-use-tab-instead-of-enter to true, for example:

(defun dotspacemacs/init ()
  "User initialization for Spacemacs. This function is called at the very
 startup."
  (setq company-mode-use-tab-instead-of-enter t)
  )

Maintainer

This contrib layer was written by and should be maintained by @trishume, everyone else is welcome to contribute.