fix: mis-invoke on_syntax when handling skip whitespace