summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-04-24release: 4.4.0mokou
2021-04-23chore(watch): add hint for the exercises README.mdZerotask
rustlings watch will now show an additional hint for the corresponding README.me
2021-04-21fix(main): Let find_exercise work with borrowsmokou
2021-04-21feat: Replace clap with arghmokou
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-19feat(list): updated progress percentagePatrick Hintermayer
2021-04-18style: formatted files with rustfmtZerotask
2021-04-18feat(list): added progress infoZerotask
Added a progress info at the bottom of the list for command: rustlings list closes #705
2021-03-20refactor: change from match to if for NO_EMOJIMatt Lebl
2021-03-19feat: Replace emojis when NO_EMOJI env variable presentMatt Lebl
2021-03-12chore: fix typocircumspect
Co-authored-by: Chenkail <40770208+Chenkail@users.noreply.github.com>
2021-02-24fix: Spelling errorLarry Garfield
2021-02-09chore: Updated source to follow clippy suggestions.apogeeoak
2021-01-08feat(cli): Improve the list command with options, and then someAbdou Seck
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-08Add looks_done method to Exercise to expose a resolution stateAbdou Seck
2020-12-29release: 4.3.0mokou
2020-11-11feat: Crab? (#586)Brock
Crab?
2020-11-10feat: add "rustlings list" commandCaleb Webber
2020-11-05fix: log error output when inotify limit is exceededCaleb Webber
closes #472
2020-10-30fix: more unique temp_fileRoberto Vidal
2020-09-27chore: fixed test nameAlexx Roche
2020-08-10chore: Run cargo fmtÉtienne Barrié
2020-07-23feat(cli): Added 'cls' command to 'watch' mode (#474)Adi Vaknin
2020-07-08feat: Remind the user of the hint option (#425)Alexx Roche
Suggestion from AbdouSeck https://github.com/rust-lang/rustlings/issues/424#issuecomment-639870331 for when the student's code has errors.
2020-06-14chore: Move from master branch to main branchmokou
2020-06-04feat: Add a --nocapture option to display test harnesses' outputsAbdou Seck
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-04Collapse nested if statementsAbdou Seck
2020-06-03Use .to_string rather than format macroAbdou Seck
2020-04-11fix(run): compile clippy exercise filesRohan Jain
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-06feature: makes "compile" exercise print output, resolves #270Roberto Vidal
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-02-26feat: Add clippy lintsMario Reder
- 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-20refactor: exercise evaluationRoberto Vidal
Exercise evaluation (compilation + execution) now uses Results Success/failure messages are standardized
2019-12-26feat: Show a completion message when watchingKate Hart
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-11-18feat(watch): show hint while watchingvyaslav
2019-11-12fix(run): makes `run` never promptRoberto Vidal
`watch` and `verify` do prompt the user to actively move to the next exercise. This change fixes `run` to never prompt. Previously it was inconsistent between "test" and "compile" exercises. BREAKING CHANGE: we again change the behavior of the `run` command
2019-11-11feat(cli): check for rustc before doing anythingRoberto Vidal
Addresses #190.
2019-11-11Address feedbackmarisa
2019-11-11fix testsmarisa
2019-11-11Merge branch 'master' into refactor-hintsmarisa
2019-11-11feat(hint): Add test for hintmarisa
2019-11-11feat: Refactor hint systemmarisa
Hints are now accessible using the CLI subcommand `rustlings hint <exercise name`. BREAKING CHANGE: This fundamentally changes the way people interact with exercises.
2019-11-11feat: improve `watch` execution modeRoberto Vidal
The `watch` command now requires user action to move to the next exercise. BREAKING CHANGE: this changes the behavior of `watch`.
2019-11-11feat: Index exercises by namemarisa
BREAKING CHANGE: This changes the way you use `rustlings run` by now requiring an abridged form of the previous filename, e.g: `rustlings run exercises/if/if1.rs` becomes `rustlings run if1`
2019-11-09improvement(watch): clear screen before each `verify()`WofWca
Closes #146
2019-11-09watch: clears terminal before entering loopJubilee Young
If someone is sliding in and out of "watch" mode, it can make it hard to tell which error messages are still relevant. This patch resolves that by clearing the terminal entirely before entering watch's loop.
2019-10-21feat: Added exercise for struct update syntaxViacheslav Avramenko
2019-07-11Check if changed exercise file exists before calling verify.Fredrik Jambrén
2019-06-10chore: Remove missed highlighting char from Issue #133Dan Wilhelm
2019-06-05Remove highlighting and syntectliv
2019-05-22Cargo fmt the rustlings application codeEddy Petrisor
Signed-off-by: Eddy Petrisor <eddy.petrisor@gmail.com>
2019-05-07Revert --nocapture flagliv
This closes #149 and #152