def scan_go
cli@0.2.0.0 · cli.bend:3585
import cli@0.2.0.0/cli.bend as Cli
import Base
3585
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)})