It took much longer than I would have liked to get to where I am now. Partly the problem took a while for me to fully understand (though it seems so simple now). Partly other life issues got in the way.
However I finally have a good understanding of how to handle line break and indents in a uniform and elegant way. My parser generator can now generate parsers which use indents to resolve ambiguity and detect errors, and use line-break to terminate some things, but not other things as appropriate. All the details are in my main blog.