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 linebreak to terminate somethings, but not other things as appropriate. All the details are in my main blog.