def dispatch
ezx@1.11.0.0 · src/ez/main.bend:24
import ezx@1.11.0.0/src/ez/main.bend as Ezx
import Base
import shake@0.6.0.0/main.bend as Shake
import ezx@1.11.0.0/src/share/args.bend as Args
import ezx@1.11.0.0/src/ez/cmd.bend as Cmd
import ezx@1.11.0.0/src/ez/test.bend as Test
import ezx@1.11.0.0/src/ez/prove.bend as Prove
import ezx@1.11.0.0/src/doctor/run.bend as DoctorRun
import ezx@1.11.0.0/src/tool/run.bend as ToolRun
import ezx@1.11.0.0/src/tool/world.bend as TW
import ezx@1.11.0.0/src/ez/line.bend as L
import ezx@1.11.0.0/src/ws/run.bend as WsRun
24
25
26
27
28
29def dispatch(sub: L.Sub, +matched: Shake.Matched, +as: List<&2, String>) -> IO(Unit):
30 match sub:
31 case L.CInit{}:
32 Cmd.init(L.get(matched, "name"), L.get(matched, "entry"),
33 L.get(matched, "description"))
34 case L.CAdd{}:
35 +target = L.get(matched, "target")
36 +ref = L.get(matched, "ref")
37 +entry = L.get(matched, "entry")
38 +rename = L.get(matched, "rename")
39 WsRun.in.member(_u => Cmd.add(target, ref, entry, rename))
40 case L.CRemove{}:
41 +name = L.get(matched, "name")
42 WsRun.in.member(_u => Cmd.remove(name))
43 case L.CLock{}:
44 +up = Shake.on(matched, "upgrade")
45 +only = L.get(matched, "package")
46 WsRun.at.root(_u => Cmd.lock(up, only))
47 case L.CFetch{}:
48 WsRun.at.root(_u => Cmd.fetch())
49 case L.CCheck{}:
50 WsRun.in.member(_u => Cmd.check())
51 case L.CBuild{}:
52 +out = L.get(matched, "out")
53 WsRun.in.member(_u => Cmd.build(out))
54 case L.CRun{}:
55 WsRun.in.member(_u => Cmd.run(as))
56 case L.CToolSync{}:
57 ToolRun.sync()
58 case L.CToolRun{}:
59 ToolRun.run(TW.Run{Args.tool.rest(as)}, L.get(matched, "target"),
60 L.get(matched, "entry"))
61 case L.CToolInstall{}:
62 ToolRun.run(TW.Install{}, L.get(matched, "target"), L.get(matched, "entry"))
63 case L.CToolUpgrade{}:
64 ToolRun.run(TW.Upgrade{}, L.get(matched, "target"), L.get(matched, "entry"))
65 case L.CPublish{}:
66 WsRun.in.member(_u => Cmd.publish())
67 case L.CTest{}:
68 Test.run()
69 case L.CProve{}:
70 Prove.run()
71 case L.CDoctor{}:
72 WsRun.at.root(_u => DoctorRun.run())
73 case L.CHelp{}:
74 IO.write(Shake.help(L.spec(), []))