import pry.atoms, pry.stream; alias S = SimpleStream!string; with(parsers!S) { auto normal = range!('0', '9').rep; auto skipping = range!('0', '9').skipWs.rep; auto s1 = "0 9 1".stream; string r; S.Error err; assert(skipping.parse(s1, r, err)); assert(s1.empty); assert(r == "0 9 1"); auto s2 = "0 9 1".stream; assert(normal.parse(s2, r, err)); assert(!s2.empty); assert(r == "0"); assert(s2.front == ' '); }
Skip whitespace at front then apply the parser.