onMatch now takes a second parameter: the state as of the match, including the span that matched.
Merge branch 'match-range'