Now that we have branch point support, I think it makes sense to expose a new API in the easy module which would abstract away the complexities of dealing with the speculative states and allow just being able to send lines of text to the parser/highlighter (in my mind it would handle the parse state itself, but I guess for caching purposes the caller may still want to know the state at each line), and perform a callback or something when a line has completed parsing (either because a branch succeeded or the backtracking state was pruned due to the line length limits of branching) and thus the scopes/operations are final.
Now that we have branch point support, I think it makes sense to expose a new API in the easy module which would abstract away the complexities of dealing with the speculative states and allow just being able to send lines of text to the parser/highlighter (in my mind it would handle the parse state itself, but I guess for caching purposes the caller may still want to know the state at each line), and perform a callback or something when a line has completed parsing (either because a branch succeeded or the backtracking state was pruned due to the line length limits of branching) and thus the scopes/operations are final.