Commit graph

3094 commits

Author SHA1 Message Date
mo8it 396ee4d618 Show progress with exercise numbers 2024-10-13 23:28:17 +02:00
mo8it 326169a7fa Improve check-all command 2024-10-13 22:02:41 +02:00
mo8it 685e069c58 First PR review changes 2024-10-10 19:43:35 +02:00
Nahor d3f819f86f Add command line command to check all exercises 2024-10-04 14:36:36 -07:00
Nahor aa83fd6bc4 Show a progress bar when running check_all
Replace the "Progress: xxx/yyy" with a progress bar when checking all
the exercises
2024-10-02 15:28:42 -07:00
Nahor e2f7734f37 Limit the amount of parallelism in check_all
Don't create more threads than there are CPU cores.
2024-10-02 14:42:50 -07:00
Nahor 5c17abd1bf Use a channel to update the check_all progress
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-02 14:10:26 -07:00
Nahor c52867eb8b Add command to check all the exercises
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-02 13:40:32 -07:00
Nahor 26fd97a209 Update all exercises during the final check
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-10-02 11:45:55 -07:00
mo8it 0c79f2ea3e Reset in prompt with confirmation 2024-09-26 18:15:45 +02:00
mo8it 0e9eb9e87e Replace three dots with dot in hint 2024-09-26 18:05:05 +02:00
mo8it 0d258b9e96 Update deps 2024-09-26 12:28:48 +02:00
mo8it d4fa61e435 Debounce file change events 2024-09-26 12:26:24 +02:00
mo8it 554301b8e9 Clear terminal before final check in watch mode 2024-09-24 16:12:44 +02:00
Mo a55e848359
Merge pull request #2114 from samueltardieu/push-ptorzrrnmxyp
Do not use `.as_bytes().len()` on strings
2024-09-22 11:40:45 +02:00
Samuel Tardieu 2653c3c4d4 Do not use .as_bytes().len() on strings 2024-09-22 10:49:55 +02:00
mo8it 4e4b65711a Only handle file changes for the current exercise, no jumping back 2024-09-18 01:44:13 +02:00
mo8it 89c40ba256 Optimize the file watcher 2024-09-18 01:43:48 +02:00
mo8it e56ae6d651 Update deps 2024-09-17 23:33:48 +02:00
Mo 64b2f18d92
Merge pull request #2103 from senekor/senk/kvuzvzqqkskk
Remove redundant enum definition task
2024-09-16 12:56:28 +02:00
Mo 2894f3c45c
Merge pull request #2110 from senekor/remo/skkynvtqxkoz
Make if2 less confusing
2024-09-16 12:54:20 +02:00
Mo 1bae2dcb00
Merge pull request #2109 from bri-rose/main
grammatical error in info.toml
2024-09-14 23:52:54 +02:00
Remo Senekowitsch b540c6df25 Make if2 less confusing
Some people would get stuck on this exercise, trying to understand the meaning
behind foo, fuzz, baz etc. Making the theme of the code make a little more sense
to humans should hopefully prevent people from getting confused by abstract and
non-sensical tests.
2024-09-14 10:03:52 +02:00
bri-rose 8b476e678a
Update info.toml
Fixed grammatical error, subject/verb agreement at line 124-125.
2024-09-13 10:23:05 -05:00
mo8it 47f8a0cbe5 Add rust-analyzer.toml on dev new 2024-09-13 16:39:28 +02:00
mo8it 9459eef032 Use Clippy with Rust-Analyzer 2024-09-13 16:38:53 +02:00
mo8it 5aaa8924a6 <s>earch isn't a typo 2024-09-13 15:07:53 +02:00
mo8it 4ffce1c297 Move lint to Rust lints 2024-09-13 14:59:34 +02:00
mo8it 0513660b05 Allow dead code for all exercises and solutions 2024-09-13 14:56:46 +02:00
mo8it 3947c4de28 Pause input while running an exercise 2024-09-12 17:46:06 +02:00
mo8it 664228ef8b Improve quit message 2024-09-12 17:46:06 +02:00
mo8it 234a61a3ee Update deps 2024-09-12 17:46:06 +02:00
mo8it 83d1275d72 Add missing # in comment 2024-09-12 17:46:06 +02:00
Mo 45abd7d59e
Merge pull request #2107 from alibektas/ratoml_for_rustlings
Add rust-analyzer.toml file
2024-09-12 15:49:31 +02:00
Ali Bektas 88e10a9e54 hardcode ratoml in init.rs 2024-09-12 15:46:09 +02:00
Ali Bektas 1f624d4c2a Add rust-analyzer.toml file 2024-09-12 15:26:40 +02:00
Remo Senekowitsch 9a25309c1c Remove redundant enum definition task
The exercise enums2.rs already contains a task where an identical enum
has to be defined.
2024-09-11 16:57:12 +02:00
mo8it 2b7caf6fcb Too polite :P 2024-09-06 16:36:36 +02:00
mo8it 938500fd2f Fix dev check in official repo 2024-09-06 16:35:12 +02:00
mo8it 2d26358602 Use the thread builder and handle the spawn error 2024-09-06 15:40:25 +02:00
mo8it 9faa5d3aa4 Avoid asking for terminal size on each rendering 2024-09-05 17:45:27 +02:00
mo8it bcc2a136c8 Add error message when unable to get terminal size 2024-09-05 17:37:34 +02:00
mo8it dcad002057 Only render when needed 2024-09-05 17:32:59 +02:00
mo8it 51b8d2ab25 Remove unused import 2024-09-05 17:23:56 +02:00
mo8it aa3eda70e5 Simplify handling terminal events for unbuffered stdin 2024-09-05 17:12:26 +02:00
mo8it 2d0860fe1b Hide input and disable its line buffering 2024-09-05 02:11:19 +02:00
mo8it 17877366b7 Update deps 2024-09-05 01:55:31 +02:00
mo8it 5eb3dee59c Create solution even if the solution's directory is missing 2024-09-05 00:21:24 +02:00
mo8it 247bd19f93 Canonicalize exercise paths only once 2024-09-04 02:19:45 +02:00
mo8it e5ed115288 Match filter once 2024-09-04 01:20:48 +02:00