def lex.go
bend-lint-rules@0.2.0.0 · layout/format.bend:796
import bend-lint-rules@0.2.0.0/layout/format.bend as Format
import Base
796
797def lex.go(
798 fuel: Nat,
799 sc: Scan,
800 from: String,
801 +at: U32,
802 +col: U32,
803 acc: List<&2, Token>
804) -> List<&2, Token>:
805 match fuel sc:
806 case 1n+k Tok{text, +len, +rest, last, +lex, sym, name, +tail}:
807 lex.go(
808 k,
809 lex.token(rest, rest, last),
810 rest,
811 (at + len: U32),
812 next_col(lex, tail, col, len),
813 Con{Token{text, at, (at + len: U32), col, lex, sym, name, tail, from}, acc}
814 )
815 case 1n+k Blank{+rest, last, +len}:
816 lex.go(k, lex.token(rest, rest, last), rest, (at + len: U32), (col + len: U32), acc)
817 case _ _:
818 List.reverse(&2, Token, acc)