summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authormo8it <mo8it@proton.me>2024-04-15 03:36:12 +0200
committermo8it <mo8it@proton.me>2024-04-15 03:36:12 +0200
commit6f04570dd080f3aedf2fdf4fac1e627abe3a5b27 (patch)
tree10bf761c30c540d146433126dc25a35bc9638805 /src/main.rs
parent15ca847c37c170590abe6caa53dba5606d956341 (diff)
Revert "Implement third-party exercises trust handling"
This reverts commit 15ca847c37c170590abe6caa53dba5606d956341. See https://rust-lang.zulipchat.com/#narrow/stream/334454-rustlings/topic/Proposal.3A.20Third-party.20exercises/near/433183449
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs39
1 files changed, 4 insertions, 35 deletions
diff --git a/src/main.rs b/src/main.rs
index 7b63f70..541783d 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,4 +1,5 @@
use anyhow::{Context, Result};
+use app_state::StateFileStatus;
use clap::{Parser, Subcommand};
use crossterm::{
terminal::{Clear, ClearType},
@@ -18,16 +19,14 @@ mod init;
mod list;
mod progress_bar;
mod run;
-mod trust;
mod watch;
use self::{
- app_state::{AppState, StateFileStatus},
+ app_state::AppState,
info_file::InfoFile,
init::init,
list::list,
run::run,
- trust::{current_dir_is_trusted, trust_current_dir},
watch::{watch, WatchExit},
};
@@ -62,11 +61,6 @@ enum Subcommands {
/// The name of the exercise
name: String,
},
- /// Trust the current directory with its exercises.
- ///
- /// You only need to run this if you want to work on third-party exercises or after you moved
- /// the official exercises that were initialized with `rustlings init`.
- Trust,
}
fn main() -> Result<()> {
@@ -87,17 +81,6 @@ fn main() -> Result<()> {
exit(1);
}
- if matches!(args.command, Some(Subcommands::Trust)) {
- trust_current_dir()?;
- println!("{POST_TRUST_MSG}");
- return Ok(());
- }
-
- if !current_dir_is_trusted()? {
- println!("{NOT_TRUSTED_MSG}");
- exit(1);
- }
-
let (mut app_state, state_file_status) = AppState::new(
info_file.exercises,
info_file.final_message.unwrap_or_default(),
@@ -148,6 +131,8 @@ fn main() -> Result<()> {
}
}
}
+ // `Init` is handled above.
+ Some(Subcommands::Init) => (),
Some(Subcommands::Run { name }) => {
if let Some(name) = name {
app_state.set_current_exercise_by_name(&name)?;
@@ -165,8 +150,6 @@ fn main() -> Result<()> {
app_state.set_current_exercise_by_name(&name)?;
println!("{}", app_state.current_exercise().hint);
}
- // `Init` and `Trust` are handled above.
- Some(Subcommands::Init | Subcommands::Trust) => (),
}
Ok(())
@@ -193,20 +176,6 @@ const PRE_INIT_MSG: &str = r"
The `exercises` directory wasn't found in the current directory.
If you are just starting with Rustlings, run the command `rustlings init` to initialize it.";
-const POST_TRUST_MSG: &str = "You now trust the exercises in the current directory.
-Run `rustlings` to start working on them.";
-
-const NOT_TRUSTED_MSG: &str = "It looks like you are trying to work on third-party exercises.
-Rustlings supports third-party exercises. But because Rustlings runs the code inside an exercise,
-we need to warn you about the possibility of malicious code.
-We recommend that you read all the exercise files in the `exercises` directory and check the
-dependencies in the `Cargo.toml` file.
-If everything looks fine and you want to trust this directory, run `rustlings trust`.
-
-If you you are trying to work on the official exercises that were generated using `rustlings init`,
-then you probably moved the directory containing them. In that case, you can run `rustlings trust`
-without a problem.";
-
const FENISH_LINE: &str = "+----------------------------------------------------+
| You made it to the Fe-nish line! |
+-------------------------- ------------------------+