aiken-lang / aiken

A modern smart contract platform for Cardano
https://aiken-lang.org
Apache License 2.0
454 stars 84 forks source link

Initial pass at watch filtering #873

Open Quantumplation opened 6 months ago

Quantumplation commented 6 months ago

This allows you to type and hit enter while running check --watch, which will update the -m setting, basically.

This can be super useful for filtering down to just one test to run and iterate on, before pressing enter again to clear it out and go back to running everything again.

I'm sure this deserves some cleanup, but I wanted to get this out there for feedback.

Related to a discussion I started here: https://github.com/aiken-lang/aiken/discussions/865

rvcas commented 5 months ago

I'm actually wondering if there's a case for reworking watch to be a full blown tui kind of thing using ratatui. Remove watch flag from check and docs and then make a new command called aiken watch or aiken dev. It immediately displays all the tests like check, shows a nice input to filter them, a command to rerun manually, toggle whether or not docs should be rebuilt along with rerunning tests. I see what you're trying to do with termion and I recall you mentioning being unhappy with how things displayed with it. Perhaps just using ratatui would make things simpler?

Quantumplation commented 5 months ago

Yea, that sounds awesome; I'd be happy to do that instead, just wasn't sure if you wanted me to be poking that much into things :sweat_smile:

KtorZ commented 5 months ago

reworking watch to be a full blown tui kind of thing

aiken ide