Commit graph

614 commits

Author SHA1 Message Date
mo8it ac62a3713c Fix typo 2024-09-01 20:31:16 +02:00
mo8it dbbeb7d4ed Fix displaying the list message in narrow mode 2024-08-29 17:06:37 +02:00
mo8it 10eb1a3aee Fix header padding 2024-08-29 16:01:41 +02:00
mo8it fd2bf9f6f6 Simplify next_pending_exercise_ind 2024-08-29 01:59:04 +02:00
mo8it fc1f9f0124 Optimize reading and writing the state file 2024-08-29 01:56:45 +02:00
mo8it 789492d1a9 The number of exercises can't be zero, but still 2024-08-29 00:32:58 +02:00
mo8it afc320bed4 Fix error about too many open files during the final check 2024-08-29 00:17:22 +02:00
mo8it cba4a6f9c8 Only disable links in VS code in the list 2024-08-28 01:19:53 +02:00
mo8it 5556d42b46 Use sol_path 2024-08-28 01:10:19 +02:00
mo8it 7d2bc1c7a4 Use a Vec for the name col padding 2024-08-28 00:56:22 +02:00
mo8it c209c874a9 Check the exercise name length 2024-08-28 00:34:24 +02:00
mo8it dd52e9cd72 Separate the scroll state 2024-08-27 00:03:50 +02:00
mo8it 0f71a150ff Making code prettier :P 2024-08-26 22:03:09 +02:00
mo8it 74388d4bf4 Only trigger write when needed 2024-08-26 04:41:26 +02:00
mo8it e811dd15b5 Fix list on terminals that don't disable line wrapping 2024-08-26 04:29:58 +02:00
mo8it f22700a4ec Use the correct environment variable 2024-08-26 02:43:08 +02:00
mo8it ee25a7d458 Disable terminal links in VS-Code 2024-08-26 02:41:22 +02:00
mo8it 594e212b8a Darker highlighting in the list 2024-08-26 00:53:42 +02:00
mo8it 5c355468c1 File link in the list? No problem :D 2024-08-26 00:49:56 +02:00
mo8it d1571d18f9 Only reset color and underline after link 2024-08-26 00:48:12 +02:00
mo8it cb86b44dea LOL, swapped colors 2024-08-26 00:40:30 +02:00
mo8it 833e6e0c92 Newline after resetting attributes 2024-08-26 00:24:39 +02:00
mo8it 159273e532 Take stdout as argument in watch mode 2024-08-26 00:09:04 +02:00
mo8it 631f2db1a3 Lower the maximum scroll padding 2024-08-25 23:54:18 +02:00
mo8it b1898f6d8b Use queue instead of Stylize 2024-08-25 23:53:50 +02:00
mo8it 64772544fa Final touches :D 2024-08-25 20:29:54 +02:00
mo8it 5f4875e2ba Almost done with list 2024-08-25 19:24:12 +02:00
mo8it fd2a8c01cb Separate drawing rows 2024-08-24 19:18:13 +02:00
mo8it b6129ad081 Use the full length for the wide footer 2024-08-24 17:45:38 +02:00
mo8it 28d0b0a21e Highlight selected row 2024-08-24 17:45:02 +02:00
mo8it b779c43126 Almost done with list display 2024-08-24 17:17:56 +02:00
mo8it 4e12725616 Don't exit the list on "to current" if nothing is selected 2024-08-24 00:23:45 +02:00
mo8it 570bc9f32d Start list without Ratatui 2024-08-24 00:14:12 +02:00
mo8it bedf0789f2 Always use strict Clippy when checking solutions 2024-08-22 14:25:14 +02:00
mo8it a2d1cb3b22 Push newline after running an exercise instead on each rendering 2024-08-20 16:05:52 +02:00
mo8it e7ba88f905 Highlight the solution file 2024-08-20 16:04:29 +02:00
mo8it 50f6e5232e Leak info_file and cmd_runner in dev check 2024-08-20 14:47:08 +02:00
mo8it 8854f0a5ed Use anyhow! 2024-08-20 14:32:47 +02:00
mo8it 13cc3acdfd Improve readability 2024-08-20 13:56:52 +02:00
mo8it 5b7368c46d Improve error message if no exercise exists 2024-08-20 13:54:20 +02:00
mo8it 27999f2d26 Check if exercise doesn't contain tests 2024-08-20 13:49:48 +02:00
mo8it e74f2a4274 Check for #[test] with newline at the end 2024-08-20 13:39:14 +02:00
mo8it 631f44331e Remove --show-output for tests and use --format pretty 2024-08-20 13:08:15 +02:00
mo8it b01fddef8b Show progress of dev check 2024-08-19 23:52:22 +02:00
mo8it 78a8553f1c "Continue at" quits the list 2024-08-19 23:29:17 +02:00
mo8it 72e557b3a9 Break help footer on narrow terminals 2024-08-17 16:54:44 +02:00
mo8it 3eaccbb61a Restore the terminal after an error in the list 2024-08-17 16:49:07 +02:00
mo8it b678bd8ed2 Disable mouse in the list 2024-08-17 16:34:43 +02:00
mo8it 2baa140615 q only quits the list 2024-08-17 15:53:34 +02:00
mo8it e760f07767 Make it clear that reset only resets one exercise 2024-08-17 15:53:24 +02:00
mo8it 6ce31defb6 Ignore stdout of git init 2024-08-17 14:40:09 +02:00
mo8it 52a231ce2f Update Ratatui 2024-08-09 02:17:01 +02:00
mo8it 16af981772 Hide stderr of cargo locate-project 2024-08-09 01:27:31 +02:00
mo8it fc141b8dfc Put Cargo.toml in `` 2024-08-09 01:16:45 +02:00
mo8it 82ebd29ff6 Add a special confirmation for initialization in a workspace 2024-08-09 01:14:08 +02:00
mo8it f5737b5a49 Fix typos 2024-08-09 01:08:52 +02:00
mo8it 140c4e4812 Improve initialization in a Cargo workspace 2024-08-09 00:49:30 +02:00
mo8it 337460d299 Check the status of the cargo metadata command 2024-08-09 00:12:49 +02:00
mo8it e41c3a7c92 Use fixed seeds with ahash 2024-08-08 23:48:54 +02:00
Mo 9f9a754a64
Merge pull request #2076 from senekor/remo/snryotxotoxv
Improve initialization in workspace
2024-08-08 23:48:09 +02:00
Mo f7b0cfe8d1
Merge pull request #2075 from senekor/remo/swzqnkxqzutw
Replace hashbrown with ahash
2024-08-08 23:12:43 +02:00
mo8it 4ce8667b9d Show the exercise name in the waiting message 2024-08-08 22:48:53 +02:00
mo8it 0785b24192 Show a message before running the exercise 2024-08-08 22:41:41 +02:00
mo8it 34f02cf83d Attach error message as context 2024-08-08 22:37:56 +02:00
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
Remo Senekowitsch dc0ffbe16e Replace hashbrown with ahash
hashbrown is already used in the standard library, but we want the
improved performance of the different hash algorithm.
Using ahash directly conveys this intent more clearly.
2024-08-08 11:12:17 +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