Line.spec: def of ezx@1.11.0.0 Import: import ezx@1.11.0.0/src/ez/line.bend as Line Lines 30-101 of ezx@1.11.0.0/src/ez/line.bend: https://jend.leeeet.dev/read.txt?path=ezx@1.11.0.0/src/ez/line.bend&start_line=30&end_line=101 import Base import shake@0.6.0.0/main.bend as Shake # the program: every command, and the flags and positionals it binds def spec() -> Shake.Cli: Shake.app("ez", "dependency tracking and builds for Bend 2", None{}, [], [ Shake.sub("init", "scaffold a project: ez.toml, ignore, entry, src/", [ Shake.pos("name", "package name", False{}, None{}, []), Shake.pos("entry", "entry file", False{}, None{}, []), Shake.opt("description", None{}, Some{"description"}, "one line: the entry's first line, which the hub shows", False{}, None{}, []) ], []), Shake.sub("add", "record a git or hub package", [ Shake.pos("target", "owner/repo, git url, path, or name@version", True{}, None{}, []), Shake.pos("ref", "commit, tag or branch", False{}, None{}, []), Shake.pos("entry", "entry file", False{}, None{}, []), Shake.opt("rename", None{}, Some{"rename"}, "record it under this name, ahead of its own (a TOML bare key)", False{}, None{}, []) ], []), Shake.sub("remove", "drop a package from the ledger", [ Shake.pos("name", "package name", True{}, None{}, []) ], []), Shake.sub("lock", "resolve every import, write ez.lock.toml", [ Shake.flag("upgrade", None{}, Some{"upgrade"}, "re-pin git deps and tools that moved, then write the lock"), Shake.opt("package", None{}, Some{"package"}, "with --upgrade, only this dependency or tool", False{}, None{}, []) ], []), Shake.sub("fetch", "fill BEND_LIB from the lock", [], []), Shake.sub("check", "check the entry, without running it", [], []), Shake.sub("build", "build the entry to a native binary", [ Shake.pos("out", "output path", False{}, None{}, []) ], []), Shake.sub("run", "check and run the entry", [], []), Shake.sub("tool", "build or run another project's binary", [], [ Shake.sub("sync", "build and link every pinned tool at its lock rev", [], []), Shake.sub("run", "fetch, build and run the binary a repo declares", [ Shake.pos("target", "owner/repo, git url, path, or name@version", True{}, None{}, []), Shake.opt("entry", None{}, Some{"entry"}, "build this file of the checkout, not the one it names", False{}, None{}, []) ], []), Shake.sub("install", "build the binary and link it on PATH", [ Shake.pos("target", "owner/repo, git url, path, or name@version", True{}, None{}, []), Shake.opt("entry", None{}, Some{"entry"}, "build this file of the checkout, not the one it names", False{}, None{}, []) ], []), Shake.sub("upgrade", "rebuild when the commit moved, and refresh the link", [ Shake.pos("target", "owner/repo, git url, path, or name@version", True{}, None{}, []), Shake.opt("entry", None{}, Some{"entry"}, "build this file of the checkout, not the one it names", False{}, None{}, []) ], []) ]), Shake.sub("publish", "send the entry to the hub, under ez's 0x name", [], []), Shake.sub("test", "run every */tests/*.bend against its trailer", [], []), Shake.sub("prove", "check every PROOF.bend: the proof gate", [], []), Shake.sub("doctor", "report on the toolchain and the project", [], []) ]) Uses (9): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=shake@0.7.0.0/main.bend&name=Cli https://jend.leeeet.dev/definition.txt?path=shake@0.7.0.0/main.bend&name=app https://jend.leeeet.dev/definition.txt?path=shake@0.7.0.0/main.bend&name=flag https://jend.leeeet.dev/definition.txt?path=shake@0.7.0.0/main.bend&name=opt https://jend.leeeet.dev/definition.txt?path=shake@0.7.0.0/main.bend&name=pos https://jend.leeeet.dev/definition.txt?path=shake@0.7.0.0/main.bend&name=sub