<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ivy, branch main</title>
<subtitle>Warm, friendly modal text editor for the terminal.
</subtitle>
<id>http://code.irenes.space/ivy/atom?h=main</id>
<link rel='self' href='http://code.irenes.space/ivy/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://code.irenes.space/ivy/'/>
<updated>2026-03-28T00:44:49+00:00</updated>
<entry>
<title>make terminal initialization a little more reliable</title>
<updated>2026-03-28T00:44:49+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-03-28T00:44:49+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/ivy/commit/?id=fd8a530e27c93d7484a90e2b96ad765436d0dad3'/>
<id>urn:sha1:fd8a530e27c93d7484a90e2b96ad765436d0dad3</id>
<content type='text'>
this had been getting noticeable during debugging flows that involved lots of panics

Force-Push: yes
Change-Id: Ic4a8855467a1f96e12965338726069c9d66f821e
</content>
</entry>
<entry>
<title>rename cursor_neutral_column to just neutral_column</title>
<updated>2026-03-28T00:33:41+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-03-28T00:33:41+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/ivy/commit/?id=2b81a83337263bcea71953e598b09afbd47c5719'/>
<id>urn:sha1:2b81a83337263bcea71953e598b09afbd47c5719</id>
<content type='text'>
the longer name was less accurate and unnecessary

Force-Push: yes
Change-Id: Ic691e0979644935953b79b491388271eb51a5e02
</content>
</entry>
<entry>
<title>rename a bunch of the terminal helpers</title>
<updated>2026-03-28T00:32:29+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-03-28T00:32:29+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/ivy/commit/?id=133d546791f32ca7f7d4ce4e6322b84510190963'/>
<id>urn:sha1:133d546791f32ca7f7d4ce4e6322b84510190963</id>
<content type='text'>
they had quirky names as a result of being the first things written; they're more consistent now

Force-Push: yes
Change-Id: I61a1fe9df1d4491c383fb368547a829f5b66c197
</content>
</entry>
<entry>
<title>fully implement the first-nonblank-column thing for H and L</title>
<updated>2026-03-27T23:59:00+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-03-27T23:59:00+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/ivy/commit/?id=a80f9a1b97e1be194cb91a3b78717b0824d3bce8'/>
<id>urn:sha1:a80f9a1b97e1be194cb91a3b78717b0824d3bce8</id>
<content type='text'>
surprisingly intricate, but although it looks messy now, this approach will clean up nicely

Force-Push: yes
Change-Id: Ic9c90982787a58110ec0a189844742a1e6c2216f
</content>
</entry>
<entry>
<title>implement the 'H' and 'L' commands</title>
<updated>2026-03-27T22:21:20+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-03-27T21:33:37+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/ivy/commit/?id=8d0a78e708dd46aec40d3a06459c86d9c10f1e3b'/>
<id>urn:sha1:8d0a78e708dd46aec40d3a06459c86d9c10f1e3b</id>
<content type='text'>
and handle the neutral column in a way that requires less code duplication

Force-Push: yes
Change-Id: I33b9983912f0699836e80d2b13b3fb355bb51e8a
</content>
</entry>
<entry>
<title>refactor screen drawing to be invokable row by row</title>
<updated>2026-03-27T19:32:17+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-03-27T19:32:17+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/ivy/commit/?id=cde5c0194b8300e31cab77aeb31e67c071f5deb0'/>
<id>urn:sha1:cde5c0194b8300e31cab77aeb31e67c071f5deb0</id>
<content type='text'>
and use it to make scrolling efficient in terms of redraws! yay!

Force-Push: yes
Change-Id: Ib6de76f6ca1603c4e7a0f11e9a4f2371a145b7c6
</content>
</entry>
<entry>
<title>scrolling now uses the terminal scroll feature when possible</title>
<updated>2026-03-27T18:36:40+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-03-27T18:36:40+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/ivy/commit/?id=a52b286d6c8e2000c416f23eece0b930fe8ec4e9'/>
<id>urn:sha1:a52b286d6c8e2000c416f23eece0b930fe8ec4e9</id>
<content type='text'>
it doesn't redraw the newly blank lines in that case though, so it's broken, but that can come next

Force-Push: yes
Change-Id: I52c90249852331e5f9bbcdee4d645ee33e4c671a
</content>
</entry>
<entry>
<title>there is now a concept of a scroll-top</title>
<updated>2026-03-27T16:57:55+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-03-27T16:57:55+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/ivy/commit/?id=46b955afbce8997c39bda4e83abcaed2e954e65c'/>
<id>urn:sha1:46b955afbce8997c39bda4e83abcaed2e954e65c</id>
<content type='text'>
scrolling is handled in the most naive possible way, which is way too much redrawing and also doesn't have the desired centering behavior for longer movements

Force-Push: yes
Change-Id: I611b02d25553873a93f2c4c17e303356735581f7
</content>
</entry>
<entry>
<title>deal with broken UTF8 even better</title>
<updated>2026-03-27T15:52:52+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-03-27T15:52:52+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/ivy/commit/?id=916bce453c48f10d42eb3744aa4c62d8ca2c4c69'/>
<id>urn:sha1:916bce453c48f10d42eb3744aa4c62d8ca2c4c69</id>
<content type='text'>
now it should self-synchronize properly if there's something really weird happening

also, that code is all refactored into encodings.rs

Force-Push: yes
Change-Id: I8bd9682448fc309b7aa6c0513e9b94cb5a4ace11
</content>
</entry>
<entry>
<title>implement the 0 and $ commands</title>
<updated>2026-03-27T14:09:17+00:00</updated>
<author>
<name>Irene Knapp</name>
<email>ireneista@irenes.space</email>
</author>
<published>2026-03-27T14:09:17+00:00</published>
<link rel='alternate' type='text/html' href='http://code.irenes.space/ivy/commit/?id=3f3d62639b3160bd9ea7dc2c5ec6a53b3e9e11bc'/>
<id>urn:sha1:3f3d62639b3160bd9ea7dc2c5ec6a53b3e9e11bc</id>
<content type='text'>
Force-Push: yes
Change-Id: I0a056ed4e021124f05e56c893d47c3b3dc5f3cd7
</content>
</entry>
</feed>
