Commit graph

499 commits

Author SHA1 Message Date
Remo Senekowitsch
dc086c6bf1 Improve initialization in workspace
- Detect if we are in a cargo project more reliably.
  (e.g. if `rustlings init` is run in the `src/` directory)

- Refuse to initialize rustlings in a non-workspace cargo project.

- Automatically populate the `workspace.members` field if `rustlings init` is
  run in a workspace.

  This may be considered risky, as there is no guarantee that's what the user
  wanted to do. However, it is consistent with the behavior of `cargo new`.
  Also, newcomers to Rust are unlikely to accidentally be in a cargo workspace,
  as they won't know how to create one in the first place.

  The use case for initialization in a workspace is when a workshop organizer
  wants to use rustlings alongside other exerices and provide a single
  repository with everything in one place.
2024-08-08 13:34:27 +02:00
mo8it
8df66f7991 Allow initialization in a workspace 2024-08-08 02:45:18 +02:00
mo8it
11fc3f1e56 Fix errors not being shown after the welcome message 2024-08-08 00:41:12 +02:00
mo8it
693bb708b2 Add README to the solutions dir 2024-08-08 00:41:12 +02:00
mo8it
97719fe8da Remove state file and solutions dir from .gitignore 2024-08-08 00:41:12 +02:00
mo8it
286a455fa9 Avoid using RUSTFLAGS to not trigger rebuilding, especially in rust-analyzer 2024-08-07 23:35:50 +02:00
mo8it
bdf4960b6a Fix exercise name shift in exercise check 2024-08-07 23:25:22 +02:00
mo8it
5016c7cf7c Use trim_ascii instead of trim 2024-08-02 16:28:05 +02:00
mo8it
1468206052 Stop on first exercise solved 2024-08-02 15:54:14 +02:00
mo8it
d1ff4b5cf0 Remove newline 2024-08-01 19:19:25 +02:00
mo8it
700a065abd Fix rustfmt option 2024-08-01 19:19:14 +02:00
mo8it
3fc462f90f Fix tests 2024-08-01 19:17:40 +02:00
mo8it
65a8f6bb4b Run rustfmt on solutions in dev check 2024-08-01 19:14:09 +02:00
mo8it
e0f0944bff Refactor check_solutions 2024-08-01 15:53:32 +02:00
mo8it
c7590dd752 Improve the runner 2024-08-01 15:23:54 +02:00
mo8it
33a5680328 Hide cargo build warnings if there is no output 2024-08-01 11:28:26 +02:00
mo8it
455d87cadd Fix capacity 2024-08-01 11:26:30 +02:00
mo8it
766f3c50ec Add hint to run dev check again after dev update 2024-08-01 01:07:56 +02:00
mo8it
802b97b2ed Set stdin to null when running the binary of an exercise 2024-08-01 01:07:31 +02:00
mo8it
74fab994e2 Make the output optional 2024-07-28 20:30:23 +02:00
mo8it
3a99542f73 Run the final check in parallel 2024-07-28 17:39:46 +02:00
mo8it
1937b4bf66 Use the rexported crossterm from ratatui 2024-07-25 16:26:48 +02:00
mo8it
8beb290842 Test initialization 2024-07-25 16:14:38 +02:00
mo8it
a7a881809f Check is_terminal 2024-07-08 12:53:44 +02:00
mo8it
a5f221aa39 Improve some messages 2024-07-07 15:53:48 +02:00
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