def scan_go

cli@0.2.0.0 · cli.bend:3585

import cli@0.2.0.0/cli.bend as Cli
import Base

3585# An external subcommand takes the rest of argv verbatim.
3586def scan_go(tokens: List<&2, String>, mode: Mode) -> Mode:
3587  match tokens mode:
3588    case argv Capture{state, name}:
3589      Closed{Stopped{scan_external(state, name, argv)}}
3590    case Nil{} _: mode
3591    case +token <> rest Open{state}:
3592      scan_go(rest, scan_open(String.eq(token, "--"), state, token))
3593    case token <> rest Fetch{state, info}:
3594      scan_go(rest, scan_fetch(state, info, token))
3595    case token <> rest Operands{state, ended}:
3596      scan_go(rest, Operands{scan_operand(state, token), ended})
3597    case token <> rest Closed{tail}:
3598      scan_go(rest, Closed{scan_tail(tail, token)})

Uses (10)

Used by (2)