#+TITLE: graphviz layer
#+TAGS: dsl|layer|markup|programming
[[file:img/graphviz.png]]
* Table of Contents :TOC_5_gh:noexport:
- [[#description][Description]]
- [[#features][Features:]]
- [[#install][Install]]
- [[#configuration][Configuration]]
- [[#key-bindings][Key bindings]]
* Description
This layer adds support for the open-source graph declaration system graphviz to Spacemacs.
** Features:
- Syntax highlighting for =.dot= files
- Integration of a live-preview of =.dot= files via [[https://github.com/ppareit/graphviz-dot-mode][graphviz-dot-mode]].
- Control of the graphviz compiler directly from emacs.
- Support for formatting =.dot= files automatically.
* Install
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =graphviz= to the existing =dotspacemacs-configuration-layers= list in this
file.
To get the compilation working, you will also need the native package [[http://graphviz.org/][graphviz]] installed
in your system.
* Configuration
If the live preview is not always updating the rendered image properly, you can
try to adjust the value of =graphviz-dot-revert-delay= higher to give the
compiler more time to finish generating the file before reverting the buffer.
* Key bindings
| Key binding | Description |
|-------------+--------------------------------------|
| ~SPC m ,~ | Preview file |
| ~SPC m =~ | Indent graph |
| ~SPC m t~ | Toggle live-preview |
| ~SPC m c~ | Set compile command and compile file |