Crates.io | comma |
lib.rs | comma |
version | 1.0.0 |
source | src |
created_at | 2019-08-05 18:27:45.192095 |
updated_at | 2021-08-23 19:46:32.670475 |
description | Shell-style command parser with support for escaping and quotations. |
homepage | |
repository | https://github.com/emctague/comma |
max_upload_size | |
id | 154351 |
size | 5,402 |
comma
splits shell-style commands, e.g. sendmsg joe "I say \"hi\" to you!"
, into a list of individual tokens.
It correctly handles unicode characters, escape sequences, and single- or double-quoted strings.
[dependencies]
comma = "1.0.0"
use comma::parse_command;
fn main () {
let parsed = parse_command("sendmsg joe \"I say \\\"hi\\\" to you!\" 'but only\\ntoday'").unwrap();
println!("Result: {:#?}", parsed); // Result: [ "sendmsg", "joe", "I say \"hi\" to you!", "but only\ntoday" ]
}