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
markgreene74
3c4fde4610
fix(watch): update the CLIPPY_CARGO_TOML_PATH
...
... to reflect the changes to the exercise directory names.
The path exercises/clippy replaced with exercises/22_clippy.
closes #1726
2023-10-16 22:41:34 +01:00
liv
3bfd857a27
Merge pull request #1696 from docwilco/docwilco/fix-spawn-windows-debugging
...
fix(cli): make debugging in windows work
2023-09-28 11:03:08 +02:00
DocWilco
511e334365
fix(cli): stop littering pdb files on windows
2023-09-27 22:02:14 +02: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
jyn
b88c23897f
Give a more helpful error when a file is missing
...
Previously, this would just say "missing file". Now it shows the path of the file that was missing,
which should make it easier to debug what went wrong.
2023-09-25 03:41:13 -04:00
mo8it
5a93f2a4f1
Port to Clap
2023-09-04 13:30:46 +02:00
liv
d79984dbda
Merge pull request #1637 from mo8it/fix-warnings
...
Run clippy --fix
2023-08-28 13:38:21 +02:00
mo8it
c0b8af2c42
Fix indicatif
2023-08-26 23:35:07 +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
2d544f18b5
fix: revert back to using relative paths
2023-05-17 21:04:32 +02:00
liv
f452fd7bb0
release: 5.5.0
2023-05-17 16:30:22 +02:00
liv
9508e97914
feat: write absolute root module paths for lsp
2023-05-17 16:14:10 +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
Nidhal Messaoudi
1acbbb6d43
Fixing the progress percentage
2023-02-27 21:17:45 +01:00
liv
fc9fb536ca
release: 5.4.0
2023-02-12 18:01:48 +01:00
wjwrh
1721ddc231
Fix the problem of different edition between rustc and rust-analyzer
2023-02-05 14:10:23 +08:00
liv
2b30cec974
Merge pull request #1319 from cloppingemu/main
...
fix(verify): progress bar percent now updates with the number of files verified
2023-01-11 12:25:09 +01:00
TenzinRabgy
8e36256eac
chore(watch): decrease watch delay
...
closes #1215
2023-01-04 04:49:51 -05:00
himanshu soni
951826e6b5
fix(verify): progress bar proportion now updates with the number of files verified
2023-01-03 23:54:01 +09:30
liv
b8d4bb1f13
Merge pull request #1316 from tklauser/fix-fn-typo
...
Fix typo in method name
2023-01-03 14:19:17 +01:00
Tobias Klauser
1b9d4bbf72
Fix typo in method name
2023-01-03 14:14:07 +01:00
liv
142633533e
Merge pull request #1294 from dbarrosop/nix-darwin
...
fix nix environment
2023-01-03 10:20:47 +01:00
liv
9ad884aadb
chore: bump version
2022-12-23 16:55:42 +01:00
David Barroso
b2df015fe6
when generating lsp config use RUST_SRC_PATH if set
2022-12-10 14:05:44 +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
ed0f278a8f
chore: remove mod.rs files and exercises feature
2022-07-11 12:53:49 +02:00
liv
5fbf28dfec
Merge pull request #1038 from KatanaFluorescent/main
...
change edition to 2021 in exercices.rs
2022-07-11 11:57:59 +02:00
KatanaFluorescent
a500ed2c3c
change edition to 2021 in exercices.rs
...
workaround for this issue https://github.com/rust-lang/rustlings/issues/1022
2022-07-01 16:49:36 +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
c811643d1e
chore: bump library versions
2022-04-20 09:35:08 +02:00
mokou
cf9f382873
chore: bump version
2022-04-14 11:16:00 +02:00
diannasoreil
74895df5a7
Merge pull request #738 from apogeeoak/text
...
fix(cli): Move long text strings into constants.
2022-04-04 17:09:49 +02:00
x-hgg-x
179a75a68d
fix: Include exercises folder in the project structure behind a feature ( #917 )
...
closes #859
closes #913
closes #942
2022-03-29 11:44:06 +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
radicale
71a06044e6
fix(clippy1): Set clippy::float_cmp lint to deny ( #907 )
2022-02-04 14:39:09 +01:00
Galih wisnuaji
9b27e8d993
chore : replace filter_map() with find_map()
2021-12-24 13:48:43 +07: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
diannasoriel
ae56cba9c8
Merge pull request #846 from rust-lang/feat/add-more-watch-commands
...
feat: add more watch commands
2021-09-24 13:05:04 +02:00
ana
3352b5a4d3
chore: improve println! usage
2021-09-24 13:04:30 +02:00
LIU JIE
06d5c0973a
fix(cli): typo in exercise.rs ( #848 )
2021-09-21 11:50:15 +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
Zerotask
bd48544e25
style: formatted files with rustfmt
2021-04-18 15:40:47 +02:00
Zerotask
c0e3daacaf
feat(list): added progress info
...
Added a progress info at the bottom of the list for command: rustlings list
closes #705
2021-04-18 15:37:41 +02:00
Matt Lebl
01e7f27aa6
refactor: change from match to if for NO_EMOJI
2021-03-20 11:53:40 -07:00
Matt Lebl
8d62a99637
feat: Replace emojis when NO_EMOJI env variable present
2021-03-19 02:16:07 -07:00
circumspect
833df0b8b3
chore: fix typo
...
Co-authored-by: Chenkail <40770208+Chenkail@users.noreply.github.com>
2021-03-12 15:26:57 +01:00
Larry Garfield
91ee27f22b
fix: Spelling error
2021-02-24 15:03:26 -06:00
apogeeoak
2e84f34cf3
chore: Updated source to follow clippy suggestions.
2021-02-09 18:21:18 -05:00
Abdou Seck
8bbe4ff138
feat(cli): Improve the list command with options, and then some
...
1.
`rustlings list` should now display more than just the exercise names.
Information such as file paths and exercises statuses should be displayed.
The `--paths` option limits the displayed fields to only the path names; while the `--names`
option limits the displayed fields to only exercise names.
You can also control which exercises are displayed, by using the `--filter` option, or
the `--solved` or `--unsolved` flags.
Some use cases:
- Fetching pending exercise files with the keyword "conversion" to pass to my editor:
```sh
vim $(rustlings list --filter "conversion" --paths --unsolved)
```
- Fetching exercise names with keyword "conversion" to pass to `rustlings run`:
```sh
for exercise in $(rustlings list --filter "conversion" --names)
do
rustlings run ${exercise}
done
```
2.
This should also fix #465 , and will likely fix #585 , as well.
That bug mentioned in those issues has to do with the way the `watch` command handler fetches the pending exercises.
Going forward, the least recently updated exercises along with all the other exercises in a pending state are fetched.
2021-01-08 13:21:00 -05:00
Abdou Seck
0b9220c1fc
Add looks_done method to Exercise to expose a resolution state
2021-01-08 13:21:00 -05:00
mokou
a303d508cf
release: 4.3.0
2020-12-29 11:39:26 +01:00
Brock
fa9f522b7f
feat: Crab? ( #586 )
...
Crab?
2020-11-11 23:06:14 +01:00
Caleb Webber
838f9f3008
feat: add "rustlings list" command
2020-11-10 18:36:19 +01:00
Caleb Webber
d61b4e5a13
fix: log error output when inotify limit is exceeded
...
closes #472
2020-11-05 19:30:50 -05:00
Roberto Vidal
5643ef05bc
fix: more unique temp_file
2020-10-30 14:39:28 +01:00
Alexx Roche
c03e1e6c6c
chore: fixed test name
2020-09-27 21:57:51 +02:00
Étienne Barrié
81f8c2f83c
chore: Run cargo fmt
2020-08-10 10:42:54 -04:00
Adi Vaknin
4f2468e14f
feat(cli): Added 'cls' command to 'watch' mode ( #474 )
2020-07-23 20:23:27 +02:00
Alexx Roche
816b1f5e85
feat: Remind the user of the hint option ( #425 )
...
Suggestion from AbdouSeck https://github.com/rust-lang/rustlings/issues/424#issuecomment-639870331
for when the student's code has errors.
2020-07-08 11:52:23 +02:00
mokou
55a9284665
chore: Move from master branch to main branch
2020-06-14 14:48:51 +02:00
Abdou Seck
8ad5f9bf53
feat: Add a --nocapture option to display test harnesses' outputs
...
This new feature can be accessed by invoking rustlings with --nocapture.
Both unit and integration tests added.
closes #262
BREAKING CHANGES:
The following function take a new boolean argument:
* `run`
* `verify`
* `test`
* `compile_and_test`
2020-06-04 11:18:26 -04:00
Abdou Seck
02a2fe4871
Collapse nested if statements
2020-06-04 11:18:09 -04:00
Abdou Seck
40741c5b0b
Use .to_string rather than format macro
2020-06-03 17:18:48 -04:00
Rohan Jain
3ab084a421
fix(run): compile clippy exercise files
...
Additionally to running clippy, also compile the exercise file so that
`rustling run clippy1` works after a successful completion of the
exercise.
closes #291
Signed-off-by: Rohan Jain <crodjer@gmail.com>
2020-04-11 08:58:23 +02:00
Roberto Vidal
3b6d5c3aaa
feature: makes "compile" exercise print output, resolves #270
...
When running "compile"-mode exercises in interactive `verify` mode,
we print their output when we prompt the learner if they want to
continue. This improves the "experimentation" experience, since
trying different things does produce a visible change.
2020-04-06 16:17:14 +02:00
Mario Reder
1e2fd9c92f
feat: Add clippy lints
...
- adds a new 'clippy' category for exercises
- clippy exercises should throw no warnings
- install script now also installs clippy
is related to https://github.com/rust-lang/rust-clippy/issues/2604
2020-02-26 14:07:07 +01:00
Roberto Vidal
43dc31193a
refactor: exercise evaluation
...
Exercise evaluation (compilation + execution) now uses Results
Success/failure messages are standardized
2020-02-20 20:27:05 +01:00
Kate Hart
d25ee55a32
feat: Show a completion message when watching
...
The completion message is shown only once all exercises succeed and are
not annotated with "I AM NOT DONE." The watch command will also exit
closes #251
2019-12-26 20:27:49 -08:00
vyaslav
8143d57b4e
feat(watch): show hint while watching
2019-11-18 20:52:57 +01:00