Commit graph

574 commits

Author SHA1 Message Date
mo8it
01b8432d58 Mark the last exercise as done 2024-07-07 13:55:39 +02:00
mo8it
652f0c7676 Fix tests 2024-07-04 23:39:06 +02:00
mo8it
4bf0ddc0e1 Check exercises unsolved 2024-07-04 21:12:57 +02:00
mo8it
a3657188b6 Check for missing TODO comments 2024-07-04 20:28:46 +02:00
mo8it
6cf75d569b Fix typos 2024-07-02 14:28:08 +02:00
mo8it
67ce9b9e56 Underline "next" 2024-07-02 01:50:05 +02:00
mo8it
bdd76cdf77 Merge branch 'run-sols-in-parallel' 2024-07-02 01:43:22 +02:00
mo8it
5bf8d1fa1b Fix typos 2024-06-14 13:32:37 +02:00
mo8it
42a3503906 Run solutions in parallel 2024-06-10 17:42:11 +02:00
mo8it
08ac11ff22 Add --require-solutions option to dev check 2024-06-02 00:11:41 +02:00
mo8it
6ae4a979f4 Check for unexpected files in the solutions dir 2024-06-02 00:03:48 +02:00
mo8it
a3ada0eee8 Print the exercise solution on check 2024-06-01 21:51:45 +02:00
mo8it
50530fa3cf Don't try to check a solution that doesn't exist 2024-06-01 21:50:11 +02:00
mo8it
611f9d8722 Check that all solutions run successfully 2024-06-01 21:48:15 +02:00
mo8it
8e9c99ae5b Change condition order 2024-06-01 15:10:43 +02:00
mo8it
84a818dbda Update the bins buffer capacity 2024-06-01 15:01:18 +02:00
mo8it
beb7b24e8e Add solutions to bins 2024-05-25 18:19:30 +02:00
mo8it
cf3f6fd6a1 Fix typo 2024-05-14 01:50:03 +02:00
mo8it
c8481d35c1 Done documentation 2024-05-14 01:49:22 +02:00
mo8it
96a44f3dcf Make it more clear that only one char is expected 2024-05-14 01:23:58 +02:00
mo8it
0ae66d1860 Remove inline 2024-05-14 00:55:07 +02:00
mo8it
700605ff35 Document init 2024-05-14 00:35:12 +02:00
mo8it
a67e63cce0 Document info_file 2024-05-13 22:02:45 +02:00
mo8it
d48e86b154 Use public comments for public items 2024-05-13 21:40:40 +02:00
mo8it
39a19f9450 Document exercise 2024-05-13 21:36:20 +02:00
mo8it
2dfc7cdb1a Document embedded 2024-05-13 21:07:04 +02:00
mo8it
e80e91faf2 Thanks Clippy :) 2024-05-13 17:12:58 +02:00
mo8it
4ae3fcc3ca Don't skip exercises on file changes 2024-05-13 17:06:11 +02:00
mo8it
17a2d42ffd Better variable naming 2024-05-13 16:44:48 +02:00
mo8it
a7bc6d53a5 Only send Unrecognized on ENTER if the last input wasn't valid 2024-05-13 16:39:38 +02:00
mo8it
f6cf6c611c Fix Windows terminal links 2024-05-13 04:11:11 +02:00
mo8it
8b2d9ed503 Use PartialEq instead of matches! 2024-05-13 02:45:12 +02:00
mo8it
d2b5906be2 No more word input 2024-05-13 02:37:32 +02:00
mo8it
f9e35a4344 Improve input handling 2024-05-13 02:32:25 +02:00
mo8it
0525739046 Fix invisible input on Windows 2024-05-13 02:20:04 +02:00
mo8it
11fda5d70f Move info.toml to rustlings-macros/
This improves the experience for contributors on Windows becuase
Windows can't deal with git symbolic links out of the box…
2024-05-13 01:25:38 +02:00
mo8it
d9df809838 Optimize embedded dirs 2024-05-12 17:40:53 +02:00
mo8it
2d0497bf3b Fix errors 2024-05-02 17:08:39 +02:00
mo8it
5e7afce019 Document dev 2024-05-01 19:47:35 +02:00
mo8it
74180ba1cc Check for tests while test=false 2024-05-01 19:16:59 +02:00
mo8it
d425dbe203 Test run_cmd 2024-05-01 18:08:18 +02:00
mo8it
32415e1e6c Document cmd 2024-05-01 17:55:49 +02:00
mo8it
8e178ac60d Document and test cargo_toml 2024-04-30 02:48:56 +02:00
mo8it
3ae6c208b2 Disable the pretty format because of --show-output 2024-04-30 02:43:51 +02:00
mo8it
563727f47f test next_pending_exercise_ind 2024-04-30 02:14:20 +02:00
mo8it
2b7ac91505 Add press_enter_prompt 2024-04-30 01:46:57 +02:00
mo8it
52c0f5b39e Fix clearing the terminal 2024-04-30 01:41:08 +02:00
mo8it
fef66b80ad Implement From<ExerciseInfo> for Exercise 2024-04-30 01:39:31 +02:00
mo8it
b6f40f2ec8 Document main and app_state 2024-04-29 17:01:47 +02:00
mo8it
3c7e7368b2 Add solutions to the initialized .gitignore 2024-04-28 23:25:44 +02:00
mo8it
593f0e0916 Revert escaping with ESC in list to be able to clear the message 2024-04-28 23:22:11 +02:00
mo8it
1508938fed Highlight the active filter 2024-04-28 23:21:13 +02:00
mo8it
aedeff8b24 Reorder the footer keys 2024-04-27 23:45:26 +02:00
mo8it
75e2804c83 Esacpe the list with ESC 2024-04-27 23:42:09 +02:00
mo8it
ea40804371 Put long version in () 2024-04-27 23:38:26 +02:00
mo8it
cdeb8ce229 Fix initialization 2024-04-27 17:31:51 +02:00
mo8it
2150d629b1 Use --show-output instead of --nocapture 2024-04-27 04:15:16 +02:00
mo8it
c82c367324 Respect the target-dir config and show tests' output 2024-04-27 04:14:59 +02:00
mo8it
5920a58e83 Include dev/Cargo.toml 2024-04-25 19:58:55 +02:00
mo8it
3ce3235294 Show warnings and errors in the tests 2024-04-25 16:08:07 +02:00
mo8it
c51f1b3f31 Thanks Clippy :D 2024-04-25 15:58:46 +02:00
mo8it
8bf8b19a5d Improve output after initialization 2024-04-25 15:51:12 +02:00
mo8it
6d1d42d2dd Try to run git init 2024-04-25 15:41:52 +02:00
mo8it
212c82c6f6 Don't ignore .vscode/extensions.json when developing third-party exercises 2024-04-25 15:34:58 +02:00
mo8it
fcefa3d614 Name the exercises' package exercises 2024-04-25 15:33:24 +02:00
mo8it
b3b4b7d59c Update initialized .gitignore 2024-04-25 15:23:24 +02:00
mo8it
c7c8d99680 Moar responsive :P 2024-04-25 15:22:11 +02:00
mo8it
14fe248b4b Optimize the notify event handler 2024-04-25 14:44:12 +02:00
mo8it
1f1a62d83e Raise the output capacity 2024-04-25 14:43:02 +02:00
mo8it
428998a4cf Quicker response to file changes 2024-04-25 03:28:44 +02:00
mo8it
2af0cd9cce Replace mode by test and strict_clippy 2024-04-25 03:25:45 +02:00
mo8it
f92d45fa68 Use write macros instead of write_fmt 2024-04-25 02:03:26 +02:00
mo8it
67fa017742 Use os_pipe 2024-04-25 01:56:01 +02:00
mo8it
d8c2ab8349 Fix tests 2024-04-24 16:26:48 +02:00
mo8it
8a085a0a85 Dump solution and show its path 2024-04-24 02:52:30 +02:00
mo8it
edf5762612 Preallocate path 2024-04-24 01:17:39 +02:00
mo8it
ef02c6c6ab Use the embedded info.toml in debug mode 2024-04-24 00:58:52 +02:00
mo8it
e4ee2cd548 Don't write solutions in debug mode 2024-04-24 00:48:58 +02:00
mo8it
b77007887c Write the solution file on done 2024-04-24 00:47:46 +02:00
mo8it
2dac8e509b Refactor embedded files to add solutions 2024-04-23 19:18:25 +02:00
mo8it
86684b7fc9 Document dev commands 2024-04-22 00:45:16 +02:00
mo8it
4ce2714da1 Add --no-git 2024-04-22 00:38:34 +02:00
mo8it
e93a99e19e Third-party exercises should be in a separate Git repo 2024-04-22 00:34:55 +02:00
mo8it
61a84a2c11 dev init -> dev new PATH 2024-04-21 23:43:49 +02:00
mo8it
30040d7778 Add a disclaimer to the state file 2024-04-21 23:39:44 +02:00
mo8it
e3b9124b85 Add a confirmation prompt to the init subcommand 2024-04-21 23:24:10 +02:00
mo8it
642c3bd37e Fix the generated Cargo.toml after rustlings init 2024-04-21 20:22:01 +02:00
mo8it
49e4a1fab0 Catch the usage of the old method 2024-04-21 19:34:55 +02:00
mo8it
f1a60780b9 Rename constant 2024-04-21 19:26:19 +02:00
mo8it
a2be6754bf Make the exercise name option for the hint subcommand 2024-04-18 17:17:39 +02:00
mo8it
01e6732e4d Improve resetting 2024-04-18 12:41:17 +02:00
mo8it
f04089b8bc Only take a reference 2024-04-18 11:40:54 +02:00
mo8it
2566f9aaf6 Place mods under all imports 2024-04-18 11:31:08 +02:00
mo8it
1eac00e89a Disable init command during development 2024-04-18 11:28:28 +02:00
mo8it
2e9b9a9f13 Move constant 2024-04-18 11:21:39 +02:00
mo8it
9f5be60b40 Use git stash to reset third-party exercises 2024-04-18 11:20:51 +02:00
mo8it
d64836f317 Avoid an unneeded syscall 2024-04-18 01:49:32 +02:00
mo8it
634e17a5ab Fix tests 2024-04-17 23:37:31 +02:00
mo8it
cb9f1ac9ce Require a main function in all exercises 2024-04-17 22:46:21 +02:00
mo8it
d83cc69afe Trim before checking if the hint is empty 2024-04-17 19:16:48 +02:00
mo8it
d6bb27ec20 Check for empty field values 2024-04-17 19:12:10 +02:00
mo8it
d42a6e7415 Print the path of the missing file 2024-04-17 18:59:40 +02:00
mo8it
b9167e9299 Remove redundant checks 2024-04-17 18:19:28 +02:00
mo8it
28ec0f864a Check the info file 2024-04-17 18:19:08 +02:00
mo8it
7005d8a400 Fix typo 2024-04-17 16:11:44 +02:00
mo8it
7f433ae28f Check the format version in dev check 2024-04-17 16:09:25 +02:00
mo8it
501b973c25 Add "dev update" 2024-04-17 15:55:50 +02:00
mo8it
30636e7cf3 Use colors inside the test 2024-04-16 21:46:07 +02:00
mo8it
0ac5aa7af2 Fix typo 2024-04-16 04:00:42 +02:00
mo8it
86d716cf8a Add comment about keeping dependencies 2024-04-16 03:43:34 +02:00
mo8it
87db9129bc Add the mode field 2024-04-16 03:37:58 +02:00
mo8it
6566c5904f Tell about updating Cargo.toml 2024-04-16 03:35:23 +02:00
mo8it
aa813fbce1 Update Cargo.toml on dev check 2024-04-16 03:30:28 +02:00
mo8it
c07cf5bffe Fix typo 2024-04-16 03:18:06 +02:00
mo8it
df448c069c Fix running dev commands 2024-04-16 03:15:14 +02:00
mo8it
25e7696565 Done dev init 2024-04-16 03:08:45 +02:00
mo8it
92777c0a44 Add the format version 2024-04-16 01:22:54 +02:00
mo8it
7ebc260924 Scetch the dev subcommand 2024-04-15 23:54:57 +02:00
mo8it
6f04570dd0 Revert "Implement third-party exercises trust handling"
This reverts commit 15ca847c37.
See https://rust-lang.zulipchat.com/#narrow/stream/334454-rustlings/topic/Proposal.3A.20Third-party.20exercises/near/433183449
2024-04-15 03:36:12 +02:00
mo8it
15ca847c37 Implement third-party exercises trust handling 2024-04-15 02:11:27 +02:00
mo8it
c613b70363 Print the trimmed final message 2024-04-14 17:28:01 +02:00
mo8it
7526c6b1f9 Update POST_INIT_MSG 2024-04-14 17:11:27 +02:00
mo8it
1cbabc3d28 Add the manual-run option 2024-04-14 17:10:53 +02:00
mo8it
bd10b154fe Clear the terminal after showing the welcome message 2024-04-14 16:07:17 +02:00
mo8it
070a780d7f Trim the final message 2024-04-14 16:04:05 +02:00
mo8it
8aef915ee7 Show the welcome message 2024-04-14 16:03:49 +02:00
mo8it
3da860927d Use push instead of extend_from_slice on chars 2024-04-14 14:53:32 +02:00
mo8it
9dcc4b7df5 Simplify the state file 2024-04-14 05:13:27 +02:00
mo8it
bee62c89de Add terminal links 2024-04-14 02:41:19 +02:00
mo8it
5c0073a948 Tolerate changes in the state file 2024-04-14 01:15:43 +02:00
mo8it
2a26dfcb00 Remove unused ContextLine 2024-04-13 15:30:35 +02:00
mo8it
24539666af Show the final message 2024-04-12 20:06:56 +02:00
mo8it
757723a7e8 Add missing newline 2024-04-12 19:30:36 +02:00
mo8it
ff4c752984 Print FAILED 2024-04-12 19:30:29 +02:00
mo8it
06d1089714 Set pending on fail in run mode 2024-04-12 19:24:26 +02:00
mo8it
6e827da570 It doesn't take minutes :P 2024-04-12 19:18:16 +02:00
mo8it
279ebdc153 Remove the modifier filter in the list mode 2024-04-12 19:16:52 +02:00
mo8it
9b0eeb815a Fix Display for Exercise 2024-04-12 19:07:17 +02:00
mo8it
44824718b2 Remove unused import 2024-04-12 18:58:01 +02:00
mo8it
8bd03093eb Add newline at the end of the generated .gitignore 2024-04-12 18:57:39 +02:00
mo8it
d5a6dee1b3 Handle the case when all exercises are done 2024-04-12 18:57:04 +02:00
mo8it
a534de0312 Implement going to the next exercise 2024-04-12 15:27:29 +02:00
mo8it
6807e63c5f Show done message 2024-04-12 02:45:54 +02:00
mo8it
2a95a3e966 Deal with long strings 2024-04-12 01:24:01 +02:00
mo8it
6494a8c50b Remove the watch subcommand 2024-04-11 16:54:27 +02:00
mo8it
e79bc727f0 Don't listen on keys with modifiers 2024-04-11 15:08:46 +02:00
mo8it
2e1a87d7d3 Take care of filters when resolving the selected exercise 2024-04-11 14:58:56 +02:00
mo8it
f53a0e8700 Panic if there are no exercises 2024-04-11 14:39:19 +02:00
mo8it
470dc65956 Fix selected when there are no rows 2024-04-11 14:35:30 +02:00
mo8it
fa1f239a70 Remove "I AM NOT DONE" and the verify mode and add AppState 2024-04-11 02:51:02 +02:00