Couldn't our woes be solved with something as simple as soft-wrap with a tweak:
soft-wrap:
- to allow the presentation layer to soft-wrap a line, just don't add a newline.
- for new paragraphs, just add two newlines as usual
- for indent sensitive code, diagrams, etc. add newlines where appropriate, taking care to not exceed 74 columns for any line. Everyone does this already.
+ tweak:
- in the presentation layer, soft-wrap all lines except those less than 74 characters long.
This isn't perfect for terminals less than 80 characters wide, in that the diagrams won't fit, but nobody uses narrow terminals, and Linus' scheme is even more broken for this case, so it's strictly better. It also allows one to easily distinguish diagrams from non diagrams by eyeballing the text flow. Best of all, it makes fewer assumptions about terminal width.
But how are those log messages, transcripts and large tables all that much better off under the current system? If a console is only 80 characters wide, they're still going to either disappear off the right edge or (as with most consoles I can think of) get soft-wrapped by the console anyway.
soft-wrap:
- to allow the presentation layer to soft-wrap a line, just don't add a newline.
- for new paragraphs, just add two newlines as usual
- for indent sensitive code, diagrams, etc. add newlines where appropriate, taking care to not exceed 74 columns for any line. Everyone does this already.
+ tweak:
- in the presentation layer, soft-wrap all lines except those less than 74 characters long.
This isn't perfect for terminals less than 80 characters wide, in that the diagrams won't fit, but nobody uses narrow terminals, and Linus' scheme is even more broken for this case, so it's strictly better. It also allows one to easily distinguish diagrams from non diagrams by eyeballing the text flow. Best of all, it makes fewer assumptions about terminal width.