From 40ce2920838565cf9691baad0ebdd1c4f316e25e Mon Sep 17 00:00:00 2001 From: h7x4 Date: Tue, 16 Dec 2025 13:39:12 +0900 Subject: [PATCH] edit-privs: move examples to different section --- src/client/commands.rs | 47 ++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/src/client/commands.rs b/src/client/commands.rs index 7e2041c..e2b13f0 100644 --- a/src/client/commands.rs +++ b/src/client/commands.rs @@ -17,20 +17,40 @@ pub use create_user::*; pub use drop_db::*; pub use drop_user::*; pub use edit_privs::*; -use futures_util::SinkExt; -use itertools::Itertools; pub use lock_user::*; pub use passwd_user::*; pub use show_db::*; pub use show_privs::*; pub use show_user::*; -use tokio_stream::StreamExt; pub use unlock_user::*; use clap::Subcommand; +use futures_util::SinkExt; +use itertools::Itertools; +use tokio_stream::StreamExt; use crate::core::protocol::{ClientToServerMessageStream, Request, Response}; +const EDIT_PRIVS_EXAMPLES: &str = color_print::cstr!( + r#" +Examples: + # Open interactive editor to edit privileges + muscl edit-privs + + # Set privileges `SELECT`, `INSERT`, and `UPDATE` for user `my_user` on database `my_db` + muscl edit-privs my_db my_user siu + + # Set all privileges for user `my_other_user` on database `my_other_db` + muscl edit-privs my_other_db my_other_user A + + # Add the `DELETE` privilege for user `my_user` on database `my_db` + muscl edit-privs my_db my_user +d + + # Set miscellaneous privileges for multiple users on database `my_db` + muscl edit-privs -p my_db:my_user:siu -p my_db:my_other_user:+ct -p my_db:yet_another_user:-d +"# +); + #[derive(Subcommand, Debug, Clone)] #[command(subcommand_required = true)] pub enum ClientCommand { @@ -101,27 +121,10 @@ pub enum ClientCommand { /// where the privileges are a string of characters, each representing a single privilege. /// (See the character-to-privilege mapping above.) /// - /// Example usage of non-interactive mode: - /// - /// Set privileges `SELECT`, `INSERT`, and `UPDATE` for user `my_user` on database `my_db`: - /// - /// `muscl edit-privs my_db my_user siu` - /// - /// Set all privileges for user `my_other_user` on database `my_other_db`: - /// - /// `muscl edit-privs my_other_db my_other_user A` - /// - /// Add the `DELETE` privilege for user `my_user` on database `my_db`: - /// - /// `muscl edit-privs -p my_db my_user +d - /// - /// Set miscellaneous privileges for multiple users on database `my_db`: - /// - /// `muscl edit-privs -p my_db:my_user:siu -p my_db:my_other_user:+ct` - /// #[command( verbatim_doc_comment, - override_usage = "muscl edit-privs [OPTIONS] [ -p ... | <[+-]PRIVILEGES> ]" + override_usage = "muscl edit-privs [OPTIONS] [ -p ... | <[+-]PRIVILEGES> ]", + after_long_help = EDIT_PRIVS_EXAMPLES, )] EditPrivs(EditPrivsArgs),