#+TITLE: D language layer

#+TAGS: general|layer|multi-paradigm|programming

[[file:img/dlogo.png]]

* Table of Contents                     :TOC_5_gh:noexport:
- [[#description][Description]]
  - [[#features][Features:]]
- [[#install][Install]]
- [[#key-bindings][Key bindings]]

* Description
This simple layer adds support for the [[http://dlang.org/][D language]] to Spacemacs.

** Features:
- Syntax highlighting
- Auto completion via =company=
- Syntax checking via =flycheck=

* Install
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =d= to the existing =dotspacemacs-configuration-layers= list in this
file.

To enable auto completion, you need to [[https://github.com/Hackerpilot/DCD#setup][install]] [[https://github.com/Hackerpilot/DCD][DCD]]. After successfully building DCD,
you need to copy the binary =dcd-server= and =dcd-client= in your path.

It is also recommended to install [[https://github.com/dlang/dub][DUB]] a =D language= package manager.

* Key bindings

| Key binding | Description                                           |
|-------------+-------------------------------------------------------|
| ~SPC m g g~ | Go to definition                                      |
| ~SPC m g b~ | Jump back (after go to definition with above command) |
| ~SPC m g r~ | Find references to all symbol at point                |
| ~SPC m h h~ | Display documentation of symbol under point           |
|-------------+-------------------------------------------------------|
