You’re still treating code as text which it isn’t (in the same way you wouldn’t treat JSON as text) it’s actually more like an AST.
Jujutsi (jj) does that. And it’s git compatible.
Jujutsi (jj) does that. And it’s git compatible.
I may have been thinking of https://github.com/gritzko/librdx/tree/master/be