* Move macros to new crate
* Generate a single file
* Pre-generate esp-metadata-generated
* Move saving code to xtask
* Format with both rustfmt and prettyplease
* Fix doc build
* Unhide macros
* Fix doc string
* Update semver-check baseline
* Define configs in YAML files
* Fix error message string
* Cleanup
* Fix rebase
* Experiment: Value is String
* More i64 -> i128
* More i64 -> i128
* yml -> yaml
* Clippy
* Expect
* Test more
* Explicit `trunc`
* fmt
* Typo
* `is_tooling` -> `ignore_feature_gates`
* Fix
* Briefly explain the config format
* Evaluate conditions in order, first match wins
* Address review
* Move evalexpr I128 support into separate file
* inter-state
* inter-state (2)
* warnings fix
* fix warnings
* fmt + changelogs
* another unsafe extern "C" doode
* real fmt now
* MSRV + format
* Ignore unsafe_op_in_unsafe_fn lint for now in esp-hal and esp-wifi
* msrv + fmt
* ugh....
* get lcd_cam example right
* expr_2021 -> expr experiment
* gagagugu
* reviews
* more unneeded unsafes (help)
* finish esp-hal unsafe cleanup
* each unsafe call is marked separately
fmt
* should be good now (?)
* piece was never an option...
* dumb
* Add stability to config options
* Reject unstable options
* Add note to docs
* Use enum validator in e-h-embassy
* Generate a list for enumerated values
* Don't allow line-wrapping headers
* Center default/allowed values
* Changelog
* Display stability under name
* Remove - from Allowed value when option has no constraints
* Mark more options as unstable
* Include a hint in the unstable error
* Extract value and validator modules
* Clean up
* Replace tuples with ConfigOption
* Move generate.rs
* Further refactor write_doc_table_line
* Carry around the config option, too
* Move markdown table processing out of random places
* Compare prettified json, use pretty_assertions to diff it
* Work with Vec
* Emit enumerated cfgs in one place