I like it, sounds good as a strategy. Why don't we do a PR against this PR branch (not master) to add the scroll binding (probably its own commit) then use it in code plugin (probably another commit). btw what does "tpl" mean in "tpl-helpers" was my first question about that one ;-)

In addition to scrolling probably need to do cursor position, selection, etc. ? I'm not sure of the full list of things that will be noticeable. There will be some not-very-noticeable things we can just ignore no doubt so let's not waste time on things that aren't noticeable. Maybe the use case to have in mind would be something like flipping between a file you are editing and the docs, or flipping between file you are editing and the compile output.

I'd say avoid rebasing this PR branch but just add commits (or do PRs against the branch), we could do a cleanup rebase at the end if we want, but in the meantime it'll be confusing to rebase since multiple people are trying to follow it.