main.bend source
main.bend on the hub · documented module
# selah-bend — pure Bend Bible parse / share / linkify (route.bible)# Run: bend main.bend -- "John 3:16"# Publish: bend main.bend --publishimport Baseimport ./parse.bend as Pimport ./linkify.bend as Ldef join_args(xs: List<&1, String>) -> String: match xs: case Nil{}: "" case h <> Nil{}: h case h <> t: String.append(h, String.append(" ", join_args(t)))def run_linkify_md(+q: String) -> IO(Unit): IO.print(String.append(L.linkify_markdown(q), "\n"))type MainPh is Data: MainLink{is_link: Bool}def main_go_ph(ph: MainPh, +h: String, t: List<&1, String>) -> IO(Unit): match ph: case MainLink{is_link}: match is_link: case True{}: run_linkify_md(join_args(t)) case False{}: P.run_args(h <> t)def main_go(xs: List<&1, String>) -> IO(Unit): match xs: case Nil{}: P.usage() case +h <> t: main_go_ph(MainLink{String.eq(h, "--linkify")}, h, t)def main() -> IO(Unit): do IO<Unit>: args : List<&1, String> <- IO.args() main_go(args)