From fdb903df8be6cddaf6bf62c4a00418c667150f49 Mon Sep 17 00:00:00 2001 From: Jan Danielsson Date: Tue, 28 May 2024 00:34:10 +0200 Subject: [PATCH] rustdoc changes: Generate links to definitions. Make docs.rs use feature labels. --- Cargo.toml | 4 ++++ src/lib.rs | 2 ++ src/v1/gemini.rs | 6 ++++++ 3 files changed, 12 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 36ce172..25b99f5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,3 +23,7 @@ reqwest-streams = { version = "0.5", features = ["json"] } serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0" } tokio = { version = "1.35", features = ["full"] } + +[package.metadata.docs.rs] +all-features = true +rustdoc-args = ["--cfg", "docsrs", "--generate-link-to-definition"] diff --git a/src/lib.rs b/src/lib.rs index a3a6d96..4a7d67e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1 +1,3 @@ +#![cfg_attr(docsrs, feature(doc_cfg))] + pub mod v1; diff --git a/src/v1/gemini.rs b/src/v1/gemini.rs index 9e5f367..93cd7c0 100644 --- a/src/v1/gemini.rs +++ b/src/v1/gemini.rs @@ -78,6 +78,7 @@ pub enum Model { #[default] GeminiPro, #[cfg(feature = "beta")] + #[cfg_attr(docsrs, doc(cfg(feature = "beta")))] Gemini1_5Pro, GeminiProVision, // TODO Embedding001 @@ -210,6 +211,7 @@ pub mod request { pub generation_config: Option, #[cfg(feature = "beta")] + #[cfg_attr(docsrs, doc(cfg(feature = "beta")))] #[serde(skip_serializing_if = "Option::is_none")] #[serde(default, rename = "system_instruction")] pub system_instruction: Option, @@ -232,6 +234,7 @@ pub mod request { } #[cfg(feature = "beta")] + #[cfg_attr(docsrs, doc(cfg(feature = "beta")))] pub fn set_system_instruction(&mut self, instruction: SystemInstructionContent) { self.system_instruction = Some(instruction); } @@ -314,10 +317,12 @@ pub mod request { pub stop_sequences: Option>, #[cfg(feature = "beta")] + #[cfg_attr(docsrs, doc(cfg(feature = "beta")))] pub response_mime_type: Option, } #[cfg(feature = "beta")] + #[cfg_attr(docsrs, doc(cfg(feature = "beta")))] #[derive(Debug, Clone, Deserialize, Serialize)] pub struct SystemInstructionContent { #[serde(default)] @@ -325,6 +330,7 @@ pub mod request { } #[cfg(feature = "beta")] + #[cfg_attr(docsrs, doc(cfg(feature = "beta")))] #[derive(Debug, Clone, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct SystemInstructionPart {