From b138dff3517e8cb793d431af6ad4a577491e21b0 Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Fri, 14 Aug 2026 03:26:54 +0800 Subject: docs(comp): improve documentation for completion module Add detailed doc comments, examples, and usage notes across the completion module including ShellContext, Suggest, and related traits. --- mingling_core/src/comp/flags.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'mingling_core/src/comp/flags.rs') diff --git a/mingling_core/src/comp/flags.rs b/mingling_core/src/comp/flags.rs index 6285570..490c88b 100644 --- a/mingling_core/src/comp/flags.rs +++ b/mingling_core/src/comp/flags.rs @@ -1,10 +1,26 @@ -// Doc Not Optimize use just_fmt::snake_case; /// Represents the shell environment for which the output format is intended. /// /// This enum defines the supported shell types that can be used for /// generating shell-specific command syntax, scripts, or completions. +/// +/// # Behavior under `structural_renderer` feature +/// +/// When the `structural_renderer` feature is enabled, this enum derives +/// [`serde::Serialize`](https://docs.rs/serde/latest/serde/trait.Serialize.html). +/// The serialization produces shell-specific string identifiers: +/// +/// - `Bash` serializes to `"bash"` +/// - `Zsh` serializes to `"zsh"` +/// - `Fish` serializes to `"fish"` +/// - `Powershell` serializes to `"powershell"` +/// - `Other(name)` serializes to the inner string value +/// +/// This allows the shell type to be transmitted as a plain string over +/// serialization boundaries (e.g., JSON, YAML) when using structural +/// rendering, while deserialization is handled by a separate process +/// (such as the `From` implementation). #[derive(Default, Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "structural_renderer", derive(serde::Serialize))] pub enum ShellFlag { -- cgit