MCPcopy Create free account
hub / github.com/ccusage/ccusage / parse_top_level_session_command

Function parse_top_level_session_command

rust/crates/ccusage-cli/src/parser.rs:293–324  ·  view source on GitHub ↗
(
    parser: &mut ArgParser,
    shared: SharedArgs,
    _config: &dyn CliConfig,
)

Source from the content-addressed store, hash-verified

291}
292
293fn parse_top_level_session_command(
294 parser: &mut ArgParser,
295 shared: SharedArgs,
296 _config: &dyn CliConfig,
297) -> Result<Command, String> {
298 let mut args = SessionArgs { shared, id: None };
299 while parser.peek().is_some() {
300 if matches!(parser.peek(), Some("--all")) {
301 parser.next();
302 continue;
303 }
304 if parse_shared_arg_for_command(parser, &mut args.shared)? {
305 continue;
306 }
307 match parser.next_flag()?.as_str() {
308 "-i" | "--id" => args.id = Some(parser.value_for("--id")?),
309 flag => return Err(format!("Unknown session option '{flag}'")),
310 }
311 }
312
313 if args.id.is_some() {
314 return Ok(Command::Session(args));
315 }
316
317 Ok(Command::All(AgentCommandArgs {
318 shared: args.shared,
319 kind: AgentReportKind::Session,
320 pi_path: None,
321 open_claw_path: None,
322 codex_speed: CodexSpeed::Auto,
323 }))
324}
325
326fn parse_claude_daily_command(
327 parser: &mut ArgParser,

Callers 1

parse_commandFunction · 0.85

Calls 5

peekMethod · 0.80
next_flagMethod · 0.80
value_forMethod · 0.80
nextMethod · 0.45

Tested by

no test coverage detected