`yarte_config` is the crate in charge of parsing the configure file, `yarte.toml`,
to a rust object that will later be treated in the rest of the crates.
Right now a Yarte configuration file can have the following:
- **`main`** (general configuration - optional): with attribute
- **`dir`**: name of template directory. If no value is given, a default directory
**`templates`** will be used. If the defined directory is not found, an error
will prompt.
- **`debug`**: type of output of debug mode. The code and/or ast generated by Yarte
can be visualize, to do so, at most one of three possible values has to be given:
`code`, `ast`, or `all`.
- **`partials`** (partials aliasing - optional): each entry must be of the type
`name_alias = "./alias/path/"`, where `./` makes reference to `dir` value. Path
must exist, or error will be prompt. If the tag `partials` doesn't exist no aliasing
will be possible.
- **`debug`** (debugging configuration - optional): in order to visualize clearly generated code
in a debugging environment Yarte gives it a tabulated format, and the possibility
to see the number line use a color theme. Options are the following:
- **`number_line`** (default: `false`): Boolean, if set to `true` number lines will appear
in debug-mode.
- **`theme`** (default: `zenburn`): String, color theme used in debugging environment.
Possible values are:
- `DarkNeon`,
- `GitHub`,
- `Monokai Extended`,
- `Monokai Extended Bright`,
- `Monokai Extended Light`,
- `Monokai Extended Origin`,
- `OneHalfDark`,
- `OneHalfLight`,
- `Sublime Snazzy`,
- `TwoDark`,
- `zenburn`
- **`grid`** (default: `false`): Boolean
- **`header`** (default: `false`): Boolean
- **`paging`** (default: `false`): Boolean
- **`short`** (default: `true`): Boolean, if set to `false` to verbose
### Example of a config file
```toml
[main]
dir = "templates"
debug = "all"
[partials]
alias = "./deep/more/deep"
[debug]
theme = "zenburn"
number_line = true
grid = true
header = true
paging = false
short = false
```
With this configuration, the user can call `alias` in a partial instance with
`{{> alias context}}` or `{{> alias}}` if the current context is well defined.