def print.go

bend-lint-rules@0.2.0.0 · layout/format.bend:2008

import bend-lint-rules@0.2.0.0/layout/format.bend as Format
import Base
import bend-lint-api@0.2.0.0/shared/strings.bend as Strings

2008# The text so far; pending whitespace is never written at the end.
2009def print.go(fuel: Nat, p: Print, +width: Maybe<&2, U32>, +newline: String, +budget: Nat) -> String:
2010  match fuel p:
2011    case _ Print{Nil{}, out, pending, col}:
2012      Strings.onto(out, "")
2013    case 0n Print{jobs, out, pending, col}:
2014      Strings.onto(out, "")
2015    case 1n+k Print{jobs, out, pending, col}:
2016      print.go(
2017        k,
2018        print.step(jobs, out, pending, col, width, newline, budget),
2019        width,
2020        newline,
2021        budget
2022      )

Uses (8)

Used by (1)