chore: switch from yaml to toml
This commit is contained in:
parent
ed493cff29
commit
8d07a86fc4
7 changed files with 66 additions and 32 deletions
74
Cargo.lock
generated
74
Cargo.lock
generated
|
|
@ -678,12 +678,6 @@ version = "1.0.22"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
|
||||
|
||||
[[package]]
|
||||
name = "same-file"
|
||||
version = "1.0.6"
|
||||
|
|
@ -743,16 +737,12 @@ dependencies = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_yaml"
|
||||
version = "0.9.34+deprecated"
|
||||
name = "serde_spanned"
|
||||
version = "0.6.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
|
||||
checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"itoa",
|
||||
"ryu",
|
||||
"serde",
|
||||
"unsafe-libyaml",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
@ -777,9 +767,9 @@ dependencies = [
|
|||
"pulldown-cmark",
|
||||
"regex",
|
||||
"serde",
|
||||
"serde_yaml",
|
||||
"tempfile",
|
||||
"thiserror 2.0.18",
|
||||
"toml",
|
||||
"walkdir",
|
||||
]
|
||||
|
||||
|
|
@ -894,6 +884,47 @@ dependencies = [
|
|||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "0.8.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_spanned",
|
||||
"toml_datetime",
|
||||
"toml_edit",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml_datetime"
|
||||
version = "0.6.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml_edit"
|
||||
version = "0.22.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"serde",
|
||||
"serde_spanned",
|
||||
"toml_datetime",
|
||||
"toml_write",
|
||||
"winnow",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml_write"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
|
||||
|
||||
[[package]]
|
||||
name = "unicase"
|
||||
version = "2.9.0"
|
||||
|
|
@ -930,12 +961,6 @@ version = "0.2.6"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
|
||||
|
||||
[[package]]
|
||||
name = "unsafe-libyaml"
|
||||
version = "0.2.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"
|
||||
|
||||
[[package]]
|
||||
name = "utf8parse"
|
||||
version = "0.2.2"
|
||||
|
|
@ -1198,6 +1223,15 @@ version = "0.48.5"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
|
||||
|
||||
[[package]]
|
||||
name = "winnow"
|
||||
version = "0.7.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wit-bindgen"
|
||||
version = "0.51.0"
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ repository = "https://github.com/konstantinfickel/streamd"
|
|||
clap = { version = "4", features = ["derive", "env"] }
|
||||
clap_complete = "4"
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_yaml = "0.9"
|
||||
toml = "0.8"
|
||||
thiserror = "2"
|
||||
miette = { version = "7", features = ["fancy"] }
|
||||
pulldown-cmark = "0.12"
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ Within files, `@`-prefixed markers at the beginning of paragraphs or headings de
|
|||
|
||||
## Configuration
|
||||
|
||||
Streamd reads its configuration from `~/.config/streamd/config.yaml` (XDG standard). The main setting is `base_folder`, which points to the directory containing your stream files (defaults to the current working directory).
|
||||
Streamd reads its configuration from `~/.config/streamd/config.toml` (XDG standard). The main setting is `base_folder`, which points to the directory containing your stream files (defaults to the current working directory).
|
||||
|
||||
## Usage
|
||||
|
||||
|
|
|
|||
|
|
@ -352,10 +352,10 @@ Provide recursive search through the shard tree:
|
|||
|
||||
### R22: Config File Location
|
||||
|
||||
The application configuration is stored at `~/.config/streamd/config.yaml`:
|
||||
The application configuration is stored at `~/.config/streamd/config.toml`:
|
||||
|
||||
```yaml
|
||||
base_folder: /path/to/stream/files
|
||||
```toml
|
||||
base_folder = "/path/to/stream/files"
|
||||
```
|
||||
|
||||
### R23: Environment Variable Override
|
||||
|
|
|
|||
|
|
@ -149,8 +149,8 @@
|
|||
|
||||
home.packages = [ cfg.package ];
|
||||
|
||||
xdg.configFile."streamd/config.yaml".source =
|
||||
(pkgs.formats.yaml { }).generate "streamd-configuration"
|
||||
xdg.configFile."streamd/config.toml".source =
|
||||
(pkgs.formats.toml { }).generate "streamd-configuration"
|
||||
{
|
||||
base_folder = cfg.base-folder;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ impl Settings {
|
|||
|
||||
if config_path.exists() {
|
||||
let content = fs::read_to_string(&config_path)?;
|
||||
let settings: Settings = serde_yaml::from_str(&content)?;
|
||||
let settings: Settings = toml::from_str(&content)?;
|
||||
Ok(settings)
|
||||
} else {
|
||||
Ok(Settings::default())
|
||||
|
|
@ -36,9 +36,9 @@ impl Settings {
|
|||
|
||||
fn config_path() -> PathBuf {
|
||||
if let Some(proj_dirs) = ProjectDirs::from("", "", "streamd") {
|
||||
proj_dirs.config_dir().join("config.yaml")
|
||||
proj_dirs.config_dir().join("config.toml")
|
||||
} else {
|
||||
PathBuf::from("~/.config/streamd/config.yaml")
|
||||
PathBuf::from("~/.config/streamd/config.toml")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ pub enum StreamdError {
|
|||
#[error("IO error: {0}")]
|
||||
IoError(#[from] std::io::Error),
|
||||
|
||||
#[error("YAML error: {0}")]
|
||||
YamlError(#[from] serde_yaml::Error),
|
||||
#[error("TOML error: {0}")]
|
||||
TomlError(#[from] toml::de::Error),
|
||||
}
|
||||
|
||||
impl From<StreamdError> for miette::Report {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue