v6.4.0

astral-sh/uvv6.4.0Nov 11, 2024by mo8it

AI Summary

This release significantly enhances the Rustlings exercise runner by adding search capabilities, bulk checking options, and UX improvements such as animations and theme fixes.

Key Highlights

  • Searchable exercise list with 's' or '/' shortcut
  • New 'check-all' command with parallelism animations
  • UX improvements including light theme support and input pausing

New Features

  • Searchable exercise list
  • Manual check all option ('c')
  • check-all command
  • Progress animation
  • Reset option ('x')
  • Allow dead_code for all exercises
  • Pause input while running exercises

Full Release Notes

### Added

- The list of exercises is now searchable by pressing `s` or `/` πŸ”οΈ (thanks to [@frroossst](https://github.com/frroossst))
- New option `c` in the prompt to manually check all exercises βœ… (thanks to [@Nahor](https://github.com/Nahor))
- New command `check-all` to manually check all exercises βœ… (thanks to [@Nahor](https://github.com/Nahor))
- Addictive animation for showing the progress of checking all exercises. A nice showcase of parallelism in Rust ✨
- New option `x` in the prompt to reset the file of the current exercise πŸ”„
- Allow `dead_code` for all exercises and solutions ⚰️ (thanks to [@huss4in](https://github.com/huss4in))
- Pause input while running an exercise to avoid unexpected prompt interactions ⏸️
- Limit the maximum number of exercises to 999. Any third-party exercises willing to reach that limit? πŸ”

### Changed

- `enums3`: Remove redundant enum definition task (thanks to [@senekor](https://github.com/senekor))
- `if2`: Make the exercise less confusing by avoiding "fizz", "fuzz", "foo", "bar" and "baz" (thanks to [@senekor](https://github.com/senekor))
- `hashmap3`: Use the method `Entry::or_default`.
- Update the state of all exercises when checking all of them (thanks to [@Nahor](https://github.com/Nahor))
- The main prompt doesn't need a confirmation with ENTER on Unix-like systems anymore.
- No more jumping back to a previous exercise when its file is changed. Use the list to jump between exercises.
- Dump the solution file after an exercise is done even if the solution's directory doesn't exist.
- Rework the footer in the list.
- Optimize the file watcher.

### Fixed

- Fix bad contrast in the list on terminals with a light theme.

![out](https://github.com/user-attachments/assets/2bb3c7a7-f751-4972-9309-8566cf6e443c)