pub fn runnable_of(line: &str, ctx: Context<'_>) -> StepExpand description
How an interface takes a line speccoder printed — a fix or a next
step: performed through perform, a view, the person’s own command,
or a line for their shell. The one parser every builder’s lines go
through (in their serialisation).
How line is taken, with ctx filling what it leaves open.
A line is text, and text can carry values spliced into it (a file’s
name, a feature’s): so a line becomes the person’s own command
(How::Command) only when it is one of speccoder’s constant lines —
a catalog fix or a builder’s line, its {task}/{feature} slots
filled with plain identifiers. A source that wants a command with
other values gives its argvs (person, steps_with). A speccoder
command that speccoder performs or opens is read from any line: what it
becomes is a typed runnable, never an argv.