Joshua Yanovski
Joshua Yanovski
I don't think this actually works, according to the Rust definition of `DoubleEndedIterator`. That is, I am pretty sure that both `next()` and `next_back()` are supposed to take from either...
You could reimplement the Slice interface by declaring a new type that worked like a slice (i.e. takes a range, etc.).
Also, it looks like the "fix undo/redo across pages" fix was reverted (or at least, it no longer appears to be working, as the screen doesn't scroll properly).
Hm, you seem to be right about vim's default behavior. It intuitively feels wrong to me (shouldn't redoing put your cursor where it was _after_ the edit, not before it?)...
Cursor movements were already incorporated into the transaction before, so this is a behavior change for sure. But I can definitely understand the perspective that they aren't part of the...
CRDTs are a fantastic approach for some problems (assuming you can find commuting operations). There's also been very useful work on symmetric lenses: http://www.cis.upenn.edu/~bcpierce/papers/symmetric.pdf.
It's actually not terribly far off from the selection methods vim exposes. vim demonstrates important optimizations that make it fast, most of which come down to optimizing sensible defaults: -...
Those configuration options seem pretty ad hoc. Wouldn't it be better to have a mapping from key combinations to arbitrary command sequences? Then you could map tab to "insert space"...
One of the stated goals of iota is: > highly extensible/customisable This to me implies a full fledged scripting language. Doing it right means having a well-defined syntax (EBNF) with...
Rust can't really handle dynamic libraries that well at the moment, and loading one is an inherently an unsafe operation (it can never be made completely safe, because it's arbitrary...