Commit graph

223 commits

Author SHA1 Message Date
mo8it b15e0a279b Use shrink to fit before leaking the vector 2024-04-09 21:23:02 +02:00
mo8it 787bec9875 Use exercises as leaked 2024-04-09 21:16:27 +02:00
mo8it f0ce2c1afa Improve event handling in the watch mode 2024-04-09 21:07:53 +02:00
mo8it 850c1d0234 Add progress bar to list 2024-04-09 19:37:39 +02:00
mo8it bd5503a0d3 Show message on reset 2024-04-08 01:33:11 +02:00
mo8it 25e855a009 Merge imports 2024-04-08 00:36:26 +02:00
mo8it 93f8d1610d Some renamings 2024-04-07 23:37:40 +02:00
mo8it 99c9ab467b Implement resetting 2024-04-07 22:43:59 +02:00
mo8it 3bd26c7a24 State -> StateFile 2024-04-07 19:01:08 +02:00
mo8it b0a4750624 Implement "continue at" 2024-04-07 04:59:22 +02:00
mo8it f6db88aca8 Started with list 2024-04-07 03:03:37 +02:00
mo8it 0819bbe21f Can't use Ratatui for the watch mode :( 2024-04-07 01:17:53 +02:00
mo8it 3f2d41de9e Start with the state 2024-04-05 03:05:07 +02:00
mo8it b0f19fd862 Start with the TUI 2024-04-05 03:04:53 +02:00
mo8it 157fe016e5 Remove ui.rs 2024-04-05 00:49:22 +02:00
mo8it 34375b2ebf Clean up as a preparation for the TUI 2024-04-04 21:06:11 +02:00
mo8it def8d2c569 Add VerifyState 2024-04-01 18:38:01 +02:00
mo8it fdd7de00bd Improvements to verify 2024-04-01 18:21:56 +02:00
mo8it 2f30eac27f Remove unneeded .iter() 2024-04-01 17:36:42 +02:00
mo8it 7560aec66b Inline reset 2024-03-31 20:08:23 +02:00
mo8it c1de4d46aa Some improvements to error handling 2024-03-31 18:25:54 +02:00
mo8it 82b563f165 Use Cargo instead of rustc 2024-03-31 16:55:33 +02:00
mo8it 23f0fae1c8 Show a success message after resetting 2024-03-30 21:13:28 +01:00
mo8it 79ca821e26 Fix tests 2024-03-30 20:48:30 +01:00
mo8it 8e3cc9d70c Improve printed information 2024-03-29 01:52:05 +01:00
mo8it 36a8e3ac0e Replace rust-project.json with Cargo.toml 2024-03-29 01:29:41 +01:00
mo8it 3ff9b0cd2a POC done 2024-03-28 22:11:16 +01:00
mo8it 5b4103bbac Remove unneeded ./ from relative paths 2024-03-28 21:10:31 +01:00
mo8it d5ed749e9f Add embedded.rs 2024-03-28 21:06:36 +01:00
mo8it dd025391f2 Make everything static 2024-03-28 17:52:51 +01:00
mo8it e5efc68a91 Done macro 2024-03-28 17:34:48 +01:00
mo8it b24f256f2a Merge branch 'main' into project 2024-03-27 15:06:58 +01:00
mo8it a27741b131 Merge branch 'main' into performance 2024-03-27 15:00:57 +01:00
mo8it f995b4c041 Merge branch 'main' into watch 2024-03-27 14:41:26 +01:00
mo8it b9d2756ce8 Merge branch 'main' into toml 2024-03-27 14:30:10 +01:00
mo8it 8e0f7e56f7 Merge branch 'main' into which 2024-03-27 14:18:20 +01:00
mo8it 87001a68c0 The string doesn't have to be a raw string 2024-03-26 17:50:29 +01:00
mo8it a610fc1bc2 Remove unneeded closure 2024-03-26 17:50:10 +01:00
mo8it e89028581c Use == instead of eq 2024-03-26 17:49:55 +01:00
mo8it 1f2029ae55 Add missing semicolon 2024-03-26 17:49:25 +01:00
mo8it ed0fcf8e3d Formatting 2024-03-26 17:49:05 +01:00
mo8it 8ddbf9635d Add write_project_json 2024-03-25 23:01:56 +01:00
mo8it f5135ae4df Remove unneeded check if crates is empty 2024-03-25 22:29:33 +01:00
mo8it 87e55ccffd Use the parsed exercises instead of glob 2024-03-25 22:20:00 +01:00
mo8it 51712cc19f Merge get_sysroot_src into the constructor 2024-03-25 03:49:10 +01:00
mo8it efa9f57048 Add anyhow 2024-03-25 03:46:56 +01:00
mo8it e4520602f5 Use the NotFound variant of the IO error 2024-03-25 02:41:45 +01:00
mo8it 83cd91ccca Replace toml with toml_edit 2024-03-25 02:35:51 +01:00
mo8it 51b4c240ed Use which instead of running rustc --version 2024-03-25 00:30:01 +01:00
mo8it f205ee3d4c Call looks_done only once 2024-03-24 18:50:46 +01:00
mo8it e1375ef431 Use to_string_lossy 2024-03-24 18:47:27 +01:00
mo8it a325df55d1 Cache filters 2024-03-23 21:56:40 +01:00
mo8it 27fa7c3e4a Move the const string to the bottom like others 2024-03-23 19:00:15 +01:00
mo8it 0d93266462 Initialize the input buffer with some capacity 2024-03-23 18:56:30 +01:00
mo8it 3dce7e5696 Improvements to watch mode 2024-03-23 18:51:25 +01:00
liv 7f530ebf20
Merge pull request #1783 from neuschaefer/fe-nish
Fe-nish line rendering improvements
2023-11-29 17:33:41 +01:00
J. Neuschäfer 12d1bf407a feat(watch): Add red color to the finishing ferris
This adds some eye-candy for users who finish Rustlings. It is based on
ANSI terminal escape sequences and should work in most environments.
2023-11-22 02:07:52 +01:00
J. Neuschäfer 5c4821ac6f fix(watch): Fix rendering of the finishing ferris
In commit 571bab2 ("Run clippy --fix"), the "" string was changed to
r"", even though it contains an intentional escape sequence, which now
looks wrong. My commit undoes this change:

Before:

	+----------------------------------------------------+
	|          You made it to the Fe-nish line!          |
	+--------------------------  ------------------------+
				  \\/
	     ▒▒          ▒▒▒▒▒▒▒▒      ▒▒▒▒▒▒▒▒          ▒▒
	   ▒▒▒▒  ▒▒    ▒▒        ▒▒  ▒▒        ▒▒    ▒▒  ▒▒▒▒
	   ▒▒▒▒  ▒▒  ▒▒            ▒▒            ▒▒  ▒▒  ▒▒▒▒
	 ░░▒▒▒▒░░▒▒  ▒▒            ▒▒            ▒▒  ▒▒░░▒▒▒▒
	   ▓▓▓▓▓▓▓▓  ▓▓      ▓▓██  ▓▓  ▓▓██      ▓▓  ▓▓▓▓▓▓▓▓
	     ▒▒▒▒    ▒▒      ████  ▒▒  ████      ▒▒░░  ▒▒▒▒
	       ▒▒  ▒▒▒▒▒▒        ▒▒▒▒▒▒        ▒▒▒▒▒▒  ▒▒
		 ▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▓▓▒▒▓▓▒▒▒▒▒▒▒▒
		   ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
		     ▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒
		   ▒▒  ▒▒▒▒▒▒▒▒▒▒██████▒▒▒▒▒▒▒▒▒▒  ▒▒
		 ▒▒    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒    ▒▒
	       ▒▒    ▒▒    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒    ▒▒    ▒▒
	       ▒▒  ▒▒    ▒▒                  ▒▒    ▒▒  ▒▒
		   ▒▒  ▒▒                      ▒▒  ▒▒


After:

	+----------------------------------------------------+
	|          You made it to the Fe-nish line!          |
	+--------------------------  ------------------------+
				   \/
	     ▒▒          ▒▒▒▒▒▒▒▒      ▒▒▒▒▒▒▒▒          ▒▒
	   ▒▒▒▒  ▒▒    ▒▒        ▒▒  ▒▒        ▒▒    ▒▒  ▒▒▒▒
	   ▒▒▒▒  ▒▒  ▒▒            ▒▒            ▒▒  ▒▒  ▒▒▒▒
	 ░░▒▒▒▒░░▒▒  ▒▒            ▒▒            ▒▒  ▒▒░░▒▒▒▒
	   ▓▓▓▓▓▓▓▓  ▓▓      ▓▓██  ▓▓  ▓▓██      ▓▓  ▓▓▓▓▓▓▓▓
	     ▒▒▒▒    ▒▒      ████  ▒▒  ████      ▒▒░░  ▒▒▒▒
	       ▒▒  ▒▒▒▒▒▒        ▒▒▒▒▒▒        ▒▒▒▒▒▒  ▒▒
		 ▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▓▓▒▒▓▓▒▒▒▒▒▒▒▒
		   ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
		     ▒▒▒▒▒▒▒▒▒▒██▒▒▒▒▒▒██▒▒▒▒▒▒▒▒▒▒
		   ▒▒  ▒▒▒▒▒▒▒▒▒▒██████▒▒▒▒▒▒▒▒▒▒  ▒▒
		 ▒▒    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒    ▒▒
	       ▒▒    ▒▒    ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒    ▒▒    ▒▒
	       ▒▒  ▒▒    ▒▒                  ▒▒    ▒▒  ▒▒
		   ▒▒  ▒▒                      ▒▒  ▒▒

Running `cargo clippy` (version 0.1.70) after this commit does not
reveal any new warnings.

Fixes: 571bab2 ("Run clippy --fix")
2023-11-22 02:07:36 +01:00
Matthias Richter adf7d1b975 chore(watch): update notify dependency to v6
closes #1640
2023-11-17 00:56:02 +01:00
danieltinazzi 3181d9f3f8 fix progress bar count 2023-11-04 17:29:10 +01:00
DocWilco cc658eb288 fix(cli): make debugging in windows work
On windows, if `stderr` or `stdin` aren't also set to `Stdio::null()`
the `spawn()` fails with `The handle is invalid`, and `rustlings`
thinks that there's no `rustc` installed.
2023-09-27 21:33:49 +02:00
mo8it 5a93f2a4f1 Port to Clap 2023-09-04 13:30:46 +02:00
mo8it 571bab20c1 Run clippy --fix 2023-08-26 23:07:20 +02:00
liv f2de12aa34 release: 5.5.1 2023-05-17 21:05:51 +02:00
liv f452fd7bb0 release: 5.5.0 2023-05-17 16:30:22 +02:00
Romain Bayle c44e3025f9 option success_hints added to the struct Watchargs instead of Args 2023-05-02 22:46:41 +02:00
Romain Bayle 5d3696a9e6 feat(cli): added success-hints option for the rustlings command
closes #1373
2023-05-01 03:04:06 +02:00
Sebastian LaVine a4a5691a7b
feat: Add "!" command to rustlings watch 2023-04-16 21:44:08 -04:00
Alexandre ESSE d7111cb4a3 fix(main.rs): remove trailing spaces 2023-03-31 11:58:15 +02:00
liv 7f1754ecc5 release: 5.4.1 2023-03-10 17:39:59 +01:00
liv fc9fb536ca release: 5.4.0 2023-02-12 18:01:48 +01:00
TenzinRabgy 8e36256eac chore(watch): decrease watch delay
closes #1215
2023-01-04 04:49:51 -05:00
Tobias Klauser 1b9d4bbf72
Fix typo in method name 2023-01-03 14:14:07 +01:00
liv 9ad884aadb chore: bump version 2022-12-23 16:55:42 +01:00
liv 587e2d6dcd
Merge pull request #1220 from azzamsa/percentage
feat(verify): add progress percentage in watch mode
2022-10-14 10:30:32 +01:00
azzamsa 68388e5d4f feat(verify): add progress percentage in watch mode 2022-10-14 05:28:49 +07:00
Yuri Astrakhan 2940ad059d Apply uninlined-format-args clippy lint
This lint should also be applied to the excersies,
but I am not certain how to run it for all non-crate individual files.

To re-run:

```
rustup run nightly cargo clippy --fix -- -A clippy::all -W clippy::uninlined_format_args
```
2022-10-12 16:43:07 -04:00
mokou c923e7af73 chore: release 5.2.1 2022-09-06 12:22:17 +02:00
mokou 3309a01b5e chore: release 5.2.0 2022-08-27 19:48:15 +01:00
magnusrodseth d59dde320b chore: Add suggested changes 2022-08-18 12:47:26 +02:00
magnusrodseth 6f44cb1dd2 feat: Add reset command, given a filename 2022-08-17 16:31:53 +02:00
mokou d0c7b06eff chore: release 5.1.1 2022-08-17 10:43:50 +02:00
mokou 714a8075cc chore: bump version 2022-08-16 09:54:25 +02:00
mokou 5435b80841 chore: bump version 2022-07-16 14:30:04 +02:00
mokou 6588d9be22 chore: bump version 2022-07-01 16:48:34 +02:00
Jack Clayton be87cc9fa6 Add lsp command to fix rust-analyzer 2022-06-17 11:36:06 +08:00
Ryan Lowe 6fae5d6114
Merge branch 'main' into progress-indicator 2022-04-20 23:29:47 -04:00
mokou 9ec35d899c chore: bump version
Plus, remove the clog configuration file,
since that's not being used anymore.
2022-04-20 09:44:37 +02:00
mokou cf9f382873 chore: bump version 2022-04-14 11:16:00 +02:00
Ryan Lowe 9be012dda0 feat!: Add progress indicator
closes #360

BREAKING CHANGE: verify() has a new function signature so it can
know the current completion progress
2022-02-05 16:54:11 -05:00
apogeeoak c1f35e46df Merge branch 'main' into text 2022-02-04 19:27:42 -05:00
ana d57c183028 release: 4.6.0 2021-09-25 11:23:05 +02:00
Antoine Busch 1caef0b434 feat: Add "quit" command to rustlings watch
closes: #842
2021-09-24 23:55:55 +10:00
ana 3352b5a4d3 chore: improve println! usage 2021-09-24 13:04:30 +02:00
ana a7dc080b95 feat: add more watch commands
Includes:
- quit, to quit the shell instead of having to press Cmd/Ctrl-C or Cmd/Ctrl-D
- help, to display an overview of all the commands available in watch mode.

Closes #842.
2021-09-21 10:36:11 +02:00
Ben Armstead 1cd9328a58
fix(cli): remove unnecessary borrows (#829)
* Update dependencies

* Format better and remove unnecessary borrows
2021-08-24 14:06:30 +02:00
ana ba087ce64a release: 4.5.0
Signed-off-by: ana <ana@ana.st>
2021-07-07 22:23:52 +02:00
Richthofen d20e413a68
feat(cli): Add "next" to run the next unsolved exercise. (#785)
* Add "run next" to run the next unsolved exercise.

* Fix a grammar error in the message.

* Update README.md with the suggested change

Co-authored-by: marisa <mokou@fastmail.com>

* Update the README.md for "rustlings hint next".

Co-authored-by: marisa <mokou@fastmail.com>
2021-06-30 12:05:49 +02:00
apogeeoak f78c480208 fix(cli): Move long text strings into constants. 2021-04-27 17:14:54 -04:00
mokou 84461c20cb release: 4.4.0 2021-04-24 11:57:00 +02:00