summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-02-18Upgrade to edition 2024mo8it
2025-01-16Disable following symlinks in the watchermo8it
2024-11-11Ignore input while checking all exercises in watch modemo8it
2024-11-11Fix typomo8it
2024-11-11Fix contrast in terminals with a light thememo8it
2024-10-26Deduplicate code for printing keysmo8it
2024-10-17list: Highlight search match in exercise namesmo8it
2024-10-17Use the default hashermo8it
2024-10-17Apply new Clippy lintsmo8it
2024-10-14Fix typosNahor
2024-10-14Limit the maximum number of exercises to 999mo8it
2024-10-14Replace ahash with foldhashmo8it
2024-10-14Remove unneeded linemo8it
2024-10-14Update namesmo8it
2024-10-14Separate initialization with a structmo8it
2024-10-14Remove outdated commentsmo8it
2024-10-14Remove the tracking of done and pendingmo8it
2024-10-14Small improvements to showing progressmo8it
2024-10-13Show progress with exercise numbersmo8it
2024-10-13Improve check-all commandmo8it
2024-10-10First PR review changesmo8it
2024-10-04Add command line command to check all exercisesNahor
2024-10-02Show a progress bar when running check_allNahor
Replace the "Progress: xxx/yyy" with a progress bar when checking all the exercises
2024-10-02Limit the amount of parallelism in check_allNahor
Don't create more threads than there are CPU cores.
2024-10-02Use a channel to update the check_all progressNahor
The previous code was checking the threads in the order they were created. So the progress update would be blocked on an earlier thread even if later thread were already done. Add to that that multiple instances of `cargo build` cannot run in parallel, they will be serialized instead. So if the exercises needs to be recompiled, depending on the order those `cargo build` are run, the first update can be a long time coming. So instead of relying on the thread terminating, use a channel to get notified when an exercise check is done, regardless of the order they finish in.
2024-10-02Add command to check all the exercisesNahor
This allows for skipping repeating "next" when multiple exercises are done at once, or when earlier exercises have been updated/changed (and thus must be redone) while still working of the whole set (i.e. the final check_all is not yet available to flag those undone exercises)
2024-10-02Update all exercises during the final checkNahor
The previous code run the check on all exercises but only updates one exercise (the first that failed) even if multiple failed. The user won't be able to see all the failed exercises when viewing the list, and will have to run check_all after each fixed exercise. This change will update all the exercises so the user can see all that failed, fix them all, and only then need run check_all again.
2024-09-26Reset in prompt with confirmationmo8it
2024-09-26Debounce file change eventsmo8it
2024-09-24Clear terminal before final check in watch modemo8it
2024-09-18Only handle file changes for the current exercise, no jumping backmo8it
2024-09-18Optimize the file watchermo8it
2024-09-13Add rust-analyzer.toml on `dev new`mo8it
2024-09-13Use Clippy with Rust-Analyzermo8it
2024-09-12Pause input while running an exercisemo8it
2024-09-12Improve quit messagemo8it
2024-09-12Add missing # in commentmo8it
2024-09-12hardcode ratoml in init.rsAli Bektas
2024-09-12Add rust-analyzer.toml fileAli Bektas
2024-09-06Too polite :Pmo8it
2024-09-06Use the thread builder and handle the spawn errormo8it
2024-09-05Avoid asking for terminal size on each renderingmo8it
2024-09-05Add error message when unable to get terminal sizemo8it
2024-09-05Only render when neededmo8it
2024-09-05Remove unused importmo8it
2024-09-05Simplify handling terminal events for unbuffered stdinmo8it
2024-09-05Hide input and disable its line bufferingmo8it
2024-09-05Create solution even if the solution's directory is missingmo8it
2024-09-04Canonicalize exercise paths only oncemo8it
2024-09-04Match filter oncemo8it