1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
//! **`start`'s grammar** — the composite's two optional words, in its own file
//! for [`super::enroll`]'s reason: a verb whose grammar is more than words is
//! its own file, and this one's tail stopped being words when the role landed.
//!
//! # Two optional words that are not the same KIND of optional
//!
//! The work target is positional, because the §3.4 rung is what it decides and
//! a rung is not a modifier: `lernie start <address> <goal> <dir>` IS the path
//! rung, and there is no second word to keep in agreement with it.
//!
//! `--role <name>` is a modifier, and it is written rather than positional
//! because it is stated on the FIRE and not on the stage (REMOTE §9.21):
//! `prepare` answers `role: null` — litany's `worker` — and which role an
//! operator wants their own conversation under is the choice made between the
//! two acts. Plan mode is exactly that choice, which is why the start is where
//! it is entered.
//!
//! # And the name is not read here
//!
//! Unlike `enroll`'s grade, a role is **not** a closed set this binary holds: a
//! workspace's roles are whatever its governing config commit declares, and
//! this seat cannot know them without reading that commit. litany resolves the
//! role before the fork, so a name it does not declare leaves no branch, no ref
//! and no worktree and refuses in its own words. What is decided here is only
//! the GRAMMAR — that the word was given a value — which is the same division
//! `enroll`'s `--at` already draws.
use ;
use crateForm;
use crateSTART;
use crateROLE;
/// The written word `start` takes after its arguments. `--role`, the wire's
/// own field name and litany's own flag, so an operator who learned it at one
/// face has learned it at all three.
pub const AS_ROLE: &str = "--role";
/// **The composite start**, with the rung the positional word decides and the
/// role the written one asks for.
pub
/// **The tail, read as the two things it can be** — a work target, then the
/// role word with its value — or the one refusal that teaches the whole
/// grammar.
///
/// One sentence for every way it can be wrong, `enroll`'s own rule: to the
/// operator a bad tail is one event, and naming the grammar answers an unknown
/// word, a repeat and a word with no value at once.
/// The sentence that teaches the tail, quoting back what was typed.
///
/// **It leads with the quoting**, because a tail this arm cannot read is
/// overwhelmingly an unquoted goal: argv quotes, so a goal with spaces is ONE
/// argument, and three typed words are otherwise indistinguishable from one
/// sentence. The grammar follows, off the door's own usage line rather than a
/// second copy of it.