def q.char

yaml-for-bend@0.1.1.0 · scan.bend:877

import yaml-for-bend@0.1.1.0/scan.bend as Scan
import Base
import yaml-for-bend@0.1.1.0/token.bend as T

877def q.char(double: Bool, c: Char, +c1: Char, +cur: Cur, +acc: String, start: T.Mark) -> Qs:
878  match double:
879    case False{}:
880      match c:
881        case '\'':
882          Bool.pick(Qs, Char.is_eq(c1, '\''), q.text(adv.n(2n, cur), SCon{'\'', acc}), QsDone{adv(cur), acc})
883        case _:
884          q.text(adv(cur), SCon{c, acc})
885    case True{}:
886      match c:
887        case '"':
888          QsDone{adv(cur), acc}
889        case '\\':
890          q.escape(c1, cur, acc, start)
891        case _:
892          q.text(adv(cur), SCon{c, acc})

Uses (15)

Used by (1)