readUnitl reads the input starting at start, until reaching a rune in runes.
(runes ...rune)
| 233 | |
| 234 | // readUnitl reads the input starting at start, until reaching a rune in runes. |
| 235 | func (t *Tokenizer) readUntil(runes ...rune) string { |
| 236 | var word string |
| 237 | for !t.currentIs(runes...) { |
| 238 | for unicode.IsSpace(t.current()) { |
| 239 | t.input = t.input[1:] |
| 240 | } |
| 241 | word = fmt.Sprintf("%s %s", word, t.readWord()) |
| 242 | } |
| 243 | return word |
| 244 | } |