I've been looking at the source code of #Microsoft 's new #edit tool after @bsletten mentioned it.
This comment saddens me:
https://github.com/microsoft/edit/blob/main/src/framebuffer.rs#L72
It's untrue in two ways.
First, #VIM, and its predecessors, very much *did* work this way, and have done since the 1980s.
It's how #ncurses works. Anything using ncurses works this way, and even most full-screen programs that just use termcap/terminfo directly do things this way.
It was an important thing to do back in the days of 9600 BPS terminals. If one didn't, one's full-screen program was painfully unusable. *Of course* programs did things this way.
Second, reading further down the code shows that the comment is exactly backwards. It is in fact Microsoft's new EDIT that writes the unnecessary stuff; lots of it, especially if your terminal window is a wide one.
Getting it to do limited updates (of less than entire screen lines at a time) is a to-do item:
https://github.com/microsoft/edit/blob/main/src/framebuffer.rs#L430
#OpenSource