Hacker News new | ask | show | jobs
by JdeBP 2683 days ago
* It is interesting to see this written in "modern" C++.

* Those input handlers (you have three) are terrible; pattern matching is the wrong way to go about this.

* You could no doubt get more imaginative with the progress bar using block characters.

* Users will no doubt ask for the ability to suspend such a program; which, note, has to properly tear the whole UI down and set it back up again.

* Users will also no doubt want this to work properly with the full range of Unicode text; you have not accounted for differing character widths, that I can see. Note that there exist zero-width characters and double-width characters.

* vi sentence, paragraph, and section motions are of course actually {, }, (, ), [[, and ]].

Some help:

* https://unix.stackexchange.com/a/499139/5132

* https://unix.stackexchange.com/a/444270/5132

* http://jdebp.eu./Softwares/nosh/guide/commands/TERM.xml

* http://jdebp.eu./Softwares/nosh/guide/commands/TerminalCapab...

* https://github.com/jdebp/nosh/blob/master/source/ECMA48Decod...

* https://github.com/jdebp/nosh/blob/master/source/TUIInputBas...

* https://github.com/neovim/libtermkey/blob/master/driver-csi....

* https://vt100.net/emu/dec_ansi_parser