Commit graph

119 commits

Author SHA1 Message Date
mo8it
ed0fcf8e3d Formatting 2024-03-26 17:49:05 +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
Zerotask
cf42ddc449
chore(watch): add hint for the exercises README.md
rustlings watch will now show an additional hint for the corresponding README.me
2021-04-23 20:28:55 +02:00
mokou
347f30bd86 fix(main): Let find_exercise work with borrows 2021-04-21 16:21:56 +02:00
mokou
7928122fce feat: Replace clap with argh
I’ve been wanting to do this for a while, but always procrastinated on it. We’ve been using Clap since the 2.0 rewrite, but Clap is known to be a fairly heavy library. Since Rustlings is usually peoples’ first contact with a Rust compilation, I think it’s in our best interests that this complation is as fast as possible. In effect, replacing Clap with the smaller, structopt-style `argh` reduces the amount of crates needing to be compiled from 82 to 60.

I also think this makes the code way easier to read, we don’t need to use Clap’s methods anymore, but can switch over to using pure Rust methods, e.g., switches are booleans, options are Option<String>s or the like, and subcommands are just structs.
2021-04-21 10:08:26 +02:00
Patrick Hintermayer
1c6f7e4b7b
feat(list): updated progress percentage 2021-04-19 09:39:05 +02:00