summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2023-04-13 12:31:39 +0200
committerMatthias Beyer <mail@beyermatthias.de>2023-04-13 12:31:39 +0200
commite0bc9cf3427d6186d88982d8715f248547d90b89 (patch)
tree3ab1dd7d810eccd893a597bf6d3c02b08b594780
parentd1b84d85a17d49d17afc522ffd600df38d87c3db (diff)
Impl AsTypeDescription for uuid::Uuid
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--Cargo.lock11
-rw-r--r--Cargo.toml2
-rw-r--r--src/lib.rs3
3 files changed, 14 insertions, 2 deletions
diff --git a/Cargo.lock b/Cargo.lock
index cddd989..99629e3 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -768,7 +768,7 @@ dependencies = [
[[package]]
name = "type_description"
-version = "0.3.0"
+version = "0.4.0"
dependencies = [
"clap",
"indexmap",
@@ -781,11 +781,12 @@ dependencies = [
"trybuild",
"type_description_derive",
"url",
+ "uuid",
]
[[package]]
name = "type_description_derive"
-version = "0.3.0"
+version = "0.4.0"
dependencies = [
"proc-macro-error",
"proc-macro2",
@@ -856,6 +857,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[package]]
+name = "uuid"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5b55a3fef2a1e3b3a00ce878640918820d3c51081576ac657d23af9fc7928fdb"
+
+[[package]]
name = "version_check"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/Cargo.toml b/Cargo.toml
index bb1e250..4562cff 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -25,6 +25,7 @@ render_markdown = ["dep:indexmap"]
render_terminal = ["dep:termimad", "dep:pretty", "dep:nu-ansi-term"]
bin = ["render", "dep:clap", "dep:serde_json", "dep:term_size"]
url = ["dep:url"]
+uuid = ["dep:uuid"]
[dependencies]
clap = { version = "4.2.1", features = ["derive"], optional = true }
@@ -38,6 +39,7 @@ termimad = { version = "0.23.0", optional = true }
type_description_derive = { version = "0.4.0", path = "type_description_derive" }
url = { version = "2", optional = true }
+uuid = { version = "1", optional = true }
[dev-dependencies]
serde = { version = "1.0.159", features = ["derive"] }
diff --git a/src/lib.rs b/src/lib.rs
index 56f4df6..2d91a08 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -309,6 +309,9 @@ impl_config_kind!(TypeKind::String; "String"; "An IPv6 socket address" => std::n
#[cfg(feature = "url")]
impl_config_kind!(TypeKind::String; "String"; "An URL" => url::Url);
+#[cfg(feature = "uuid")]
+impl_config_kind!(TypeKind::String; "String"; "A UUID" => uuid::Uuid);
+
impl_config_kind!(TypeKind::String; "String"; "A filesystem path" => std::path::PathBuf);
#[cfg(test)]