aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkshay <[email protected]>2020-03-26 07:49:10 +0000
committerAkshay <[email protected]>2020-03-26 07:49:10 +0000
commit6a4774696a078585e6cc6889413b16624785ab76 (patch)
treeb60baa2f4a99e3507b58ac64bfb28a5eeb11bfd7
parent1f396bf1238a3c4d0ea1507ef5095b4b6dcd6d6b (diff)
add architecture bits
-rw-r--r--readme.md19
1 files changed, 17 insertions, 2 deletions
diff --git a/readme.md b/readme.md
index 9f239c5..f76f63c 100644
--- a/readme.md
+++ b/readme.md
@@ -1,5 +1,8 @@
1# fondant 1# fondant
2 2
3[Architecture](#Architecture) · [Usage](#Usage) ·
4[Customization](#Customization) · [Todo](#Todo)
5
3`fondant` is a macro based library to take the boilerplate out of 6`fondant` is a macro based library to take the boilerplate out of
4configuration handling. Most of `fondant` is based off the `confy` crate. 7configuration handling. Most of `fondant` is based off the `confy` crate.
5 8
@@ -9,7 +12,19 @@ configuration handling. Most of `fondant` is based off the `confy` crate.
9 - support for custom config paths 12 - support for custom config paths
10 - support for custom config file names 13 - support for custom config file names
11 14
12### Sample usage 15### Architecture
16
17`fondant` is split into 3 separate crates:
18
19 - `fondant_deps`: external crates and utils that `fondant` requires
20 - `fondant_derive`: core macro definitions
21 - `fondant`: the user facing library that brings it all together
22
23This slightly strange architecture arose because of some
24limitations with proc-macro crates and strict cyclic
25dependencies in cargo. All you need is the `fondant` crate.
26
27### Usage
13 28
14```rust 29```rust
15// the struct has to derive Serialize, Deserialize and Default 30// the struct has to derive Serialize, Deserialize and Default
@@ -104,7 +119,7 @@ name = 'Central Park Zoo'
104penguins = 4 119penguins = 4
105``` 120```
106 121
107### todo 122### Todo
108 123
109 - [ ] improve error from trait impl 124 - [ ] improve error from trait impl
110 - [ ] use `syn::Error` and `syn::Result` to report macro errors 125 - [ ] use `syn::Error` and `syn::Result` to report macro errors