refactor: replace module_config_derive with serde (#3786)

* refactor: replace module_config_derive with serde

Changes include:
* Removing `starship_module_config_derive` and replacing it with `serde::Deserialize`
* Removing `RootModuleConfig::load_config`. While potentially useful, it was only used in tests. And it would require something like `serde::DeserializeSeed` which is not derived by serde.
* Merging `RootModuleConfig` into `ModuleConfig`
* Implementing a `ValueDeserializer` that holds a reference to a `toml::Value` in `serde_utils.rs`
* Deserialization errors (invalid type) are now logged and include the current key and the struct names
* Unknown keys are now considered an error. "Did you mean?"-messages are still possible

* fix typo

Co-authored-by: Matan Kushner <hello@matchai.dev>

Co-authored-by: Matan Kushner <hello@matchai.dev>
This commit is contained in:
David Knaack
2022-03-26 10:42:19 +01:00
committed by GitHub
parent 0fb4219690
commit 2d4b183fce
159 changed files with 891 additions and 1011 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
use super::{Context, Module, RootModuleConfig};
use super::{Context, Module, ModuleConfig};
use crate::configs::crystal::CrystalConfig;
use crate::formatter::StringFormatter;