we gave in to the urge to start writing a text editor https://code.irenes.space/ivy

(it doesn't edit anything yet)

ivy - Warm, friendly modal text editor for the terminal.

this is our first time using the Rust smol library, which seems quite nice. pleasingly, there isn't some big war between the authors of different rust async runtimes; rather, roughly the same group of authors wrote first tokio, then async-std, then most recently smol. this last one refactors the whole thing into a bunch of tiny, loosely-coupled libraries; smol itself is just a shorthand to import a few of those libraries at once. so that's pretty neat.

@ireneista not to be discouraging, but part of the reason there isn't some big war is because various parts of the rust async ecosystem are quite tightly coupled together

libraries used to be rather coupled to specific async runtimes (this might be finally getting better?), and low-level IO is *really* coupled to executors (this doesn't matter to most people, until it suddenly does)

@r yes, the whole point of this factored-out approach is to reduce those couplings