2015-03-16 01:43:31 +00:00
|
|
|
# YCMD contribution layer for Spacemacs
|
2015-01-10 23:57:24 +00:00
|
|
|
|
2015-03-16 01:43:31 +00:00
|
|
|
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc/generate-toc again -->
|
|
|
|
**Table of Contents**
|
2015-01-10 23:57:24 +00:00
|
|
|
|
2015-03-16 01:43:31 +00:00
|
|
|
- [YCMD contribution layer for Spacemacs](#ycmd-contribution-layer-for-spacemacs)
|
|
|
|
- [Description](#description)
|
|
|
|
- [Install](#install)
|
|
|
|
- [Layer](#layer)
|
|
|
|
- [YCMD](#ycmd)
|
2015-04-19 20:05:39 +00:00
|
|
|
- [Other Requirements](#other-requirements)
|
2015-03-16 01:43:31 +00:00
|
|
|
- [Configuration](#configuration)
|
|
|
|
- [Key Bindings](#key-bindings)
|
2015-01-10 23:57:24 +00:00
|
|
|
|
2015-03-16 01:43:31 +00:00
|
|
|
<!-- markdown-toc end -->
|
2015-01-10 23:57:24 +00:00
|
|
|
|
2015-03-16 01:43:31 +00:00
|
|
|
## Description
|
2015-01-10 23:57:24 +00:00
|
|
|
|
2015-03-16 01:43:31 +00:00
|
|
|
This layer adds [emacs-ycmd][] support.
|
|
|
|
|
|
|
|
## Install
|
|
|
|
|
|
|
|
### Layer
|
|
|
|
|
|
|
|
To use this contribution add it to your `~/.spacemacs`
|
2015-01-10 23:57:24 +00:00
|
|
|
|
|
|
|
```elisp
|
2015-03-16 01:43:31 +00:00
|
|
|
(setq-default dotspacemacs-configuration-layers '(ycmd))
|
2015-01-10 23:57:24 +00:00
|
|
|
```
|
2015-03-16 01:43:31 +00:00
|
|
|
|
|
|
|
### YCMD
|
|
|
|
|
|
|
|
In order to use this layer you must have a local [ycmd][] installation and must
|
|
|
|
set the `ycmd-server-command` variable to reflect the path to that installation.
|
|
|
|
See the [emacs-ycmd][] readme for more instructions on this.
|
|
|
|
|
2015-04-19 20:05:39 +00:00
|
|
|
### Other Requirements
|
2015-03-16 01:43:31 +00:00
|
|
|
|
2015-04-19 20:05:39 +00:00
|
|
|
This package requires the `auto-completion` layer in order to get actual
|
|
|
|
completion. The `syntax-checking` layer is required for flycheck support.
|
2015-03-16 01:43:31 +00:00
|
|
|
|
|
|
|
## Configuration
|
|
|
|
|
|
|
|
By default this layer only activates ycmd for `c++-mode`.
|
|
|
|
|
|
|
|
If you want ycmd suppoert in other modes you might just want to add it for
|
|
|
|
specific languages like: ```elisp (add-hook 'c++-mode-hook 'ycmd-mode) ```
|
|
|
|
|
|
|
|
## Key Bindings
|
|
|
|
|
|
|
|
Adds `SPC m g g` go to definition binding to `c++-mode` as well as `SPC m g G`
|
|
|
|
for the more imprecise but faster version.
|
|
|
|
|
|
|
|
[ycmd]: https://github.com/Valloric/ycmd#building
|
|
|
|
[emacs-ycmd]: https://github.com/abingham/emacs-ycmd
|