ulyssa / modalkit

A Rust library for building modal editing applications
Apache License 2.0
49 stars 5 forks source link

Update modalkit-ratatui to ratatui@0.26 #138

Closed garyttierney closed 3 months ago

garyttierney commented 3 months ago

Hi! Thanks for the incredible crate. The amount of time I've saved in building a familiar TUI experience with this is astounding.

Ratatui 0.26 has a few niceties like the flex layout modes and a number of bugfixes, so I've bumped modalkit-ratatui and fixed the tiny amount of breaking changes that affect modalkit.

I realise that the primary consumer of modalkit (iamb?) will still be pinned to ratatui 0.23 so I'm happy to do the version bump there too and see what comes out of it if you think this ratatui update is worthwhile.

Tests all look good and the behaviour of the example seems identical before/after updating to my untrained eye.

ulyssa commented 3 months ago

I'm glad to hear that it's proven useful for you! If you're able to share, I'd love to hear more about what you're building with it, and whether there's anything that's missing or difficult to use.

Thank you for bumping the ratatui dependency! It looks like the new ratatui requires bumping the MSRV to 1.70, which is fine. I'll take care of bumping ratatui in iamb after its next release.

garyttierney commented 3 months ago

I'm glad to hear that it's proven useful for you! If you're able to share, I'd love to hear more about what you're building with it, and whether there's anything that's missing or difficult to use.

Of course! I'm working on a frontend for LLDB, primarily for developers who work on mods for games and typically don't have source code access. It's been developed in private so far but will be open sourced as soon as I have something worth sharing. When I do I'll let you know if you'd like to see how modalkit is being used there.

It's hard for me to think of something as missing when we already get so much from modalkit for free, but the one thing I have my eye on and might look at implementing is #123. We'd be using this for collapsing/expanding trees of variable data instead of a full-blown code folding implementation for Buffer.

With regards to difficulty: using the API is very intuitive, so honestly no difficulty at all. I think the only thing I could mention is that I've caused some panics by interacting with Buffers incorrectly (the exact cause I don't remember, but I'll be looking into it again soon).

We're really only using modalkit at a surface-level right now, so once we're a bit further along with development I can hopefully provide more useful feedback and some more contributions!