54 lines
2 KiB
Org Mode
54 lines
2 KiB
Org Mode
|
#+TITLE: yang layer
|
||
|
|
||
|
* Table of Contents :TOC_4_gh:noexport:
|
||
|
- [[#description][Description]]
|
||
|
- [[#features][Features:]]
|
||
|
- [[#install][Install]]
|
||
|
- [[#syntax-checking-with-flycheck][Syntax checking with flycheck]]
|
||
|
- [[#configuration][Configuration]]
|
||
|
|
||
|
* Description
|
||
|
This layer provides support for the YANG file format.
|
||
|
|
||
|
** Features:
|
||
|
- Syntax highlighting
|
||
|
- Syntax checking via [[http://www.flycheck.org/en/latest/languages.html#yaml][flycheck]]
|
||
|
|
||
|
* Install
|
||
|
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
|
||
|
add =yang= to the existing =dotspacemacs-configuration-layers= list in this
|
||
|
file.
|
||
|
|
||
|
#+begin_src emacs-lisp
|
||
|
(setq-default dotspacemacs-configuration-layers '(yang))
|
||
|
#+end_src
|
||
|
|
||
|
* Syntax checking with flycheck
|
||
|
Flycheck is used to check the yang syntax utilizing =pyang= which needs to be
|
||
|
installed on your system. Documentation for pyang can be found at the [[https://github.com/mbj4668/pyang][pyang
|
||
|
repository]], and can be installed using python packaging mechanisms
|
||
|
|
||
|
** Configuration
|
||
|
By default the syntax checking is done according to ~pyang --lint~ which uses
|
||
|
rules outlined in RFC 6020. To use a different set of rules set the
|
||
|
~yang-pyang-rules~ variable. The valid values at the time of writing were:
|
||
|
|
||
|
- mef Validate the module(s) according to MEF rules.
|
||
|
- ietf Validate the module(s) according to IETF rules.
|
||
|
- bbf Validate the module(s) according to BBF rules.
|
||
|
- ieee Validate the module(s) according to IEEE rules.
|
||
|
- lint Validate the module(s) according to RFC 6087 rules.
|
||
|
|
||
|
#+begin_src emacs-lisp
|
||
|
(setq-default dotspacemacs-configuration-layers
|
||
|
'((yang :variables yang-pyang-rules "ietf")))
|
||
|
#+end_src
|
||
|
|
||
|
To allow further customization one can set the ~yang-pyang-extra-args~
|
||
|
variable to a string that will be passed directly to the =pyang= command.
|
||
|
|
||
|
#+begin_src emacs-lisp
|
||
|
(setq-default dotspacemacs-configuration-layers
|
||
|
'((yang :variables yang-pyang-extra-args "--max-line-length=69")))
|
||
|
#+end_src
|