# Auto-Completion configuration layer for Spacemacs **Table of Contents** - [Colors contribution layer for Spacemacs](#colors-contribution-layer-for-spacemacs) - [Description](#description) - [Install](#install) - [Enable rainbow-identifiers](#enable-rainbow-identifiers) - [Enable Nyan cat](#enable-nyan-cat) - [Key bindings](#key-bindings) - [Rainbow Identifiers](#rainbow-identifiers) - [Rainbow Mode](#rainbow-mode) ## Description This layer provides auto-completion to Spacemacs. The following front-ends are supported: - [company][] - [auto-complete][] **Notes*** - `company` is the most supported and preferred front-end in Spacemacs. - For a given language, Spacemacs supports one and only one front-end. ## Install To use this contribution add it to your `~/.spacemacs` ```elisp (setq-default dotspacemacs-configuration-layers '(auto-completion)) ``` ### Company variables To use tab instead of enter to complete your selection, `dotspacemacs/init` set `auto-completion-use-tab-instead-of-enter` to `t`, for example: ``` elisp (setq-default dotspacemacs-configuration-layers '(auto-completion :variables auto-completion-use-tab-instead-of-enter t)) ``` To enable docstring tooltips set `auto-completion-enable-company-help-tooltip` to `t` ``` elisp (setq-default dotspacemacs-configuration-layers '(auto-completion :variables auto-completion-enable-company-help-tooltip t)) ``` ## Key Bindings ### Company 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 ### Auto-complete Key Binding | Description -------------------|------------------------------------------------------------ C-j | select next candidate C-k | select previous candidate TAB | expand selection or select next candidate S-TAB | select previous candidate return | complete word, if word is already completed insert a carriage return