INNER CODE UNIT · Rust
parse
0xKarl-dev/claw-codes · rust/crates/commands/src/lib.rs:328
pub fn parse(input: &str) -> Option<Self> {
let trimmed = input.trim();
if !trimmed.starts_with('/') {
return None;
}
let mut parts = trimmed.trim_start_matches('/').split_whitespace();
let command = parts.next().unwrap_or_default();
Some(match command {
"help" => Self::Help,
"status" => Self::Status,
"compact" => Self::Compact,
"branch" => Self::Branch {
action: parts.next().map(ToOwned::to_owned),
target: parts.next().map(ToOwned::to_owned),
},
"bughunter" => Self::Bughunter {
scope: remainder_after_command(trimmed, command),