aboutsummaryrefslogtreecommitdiff
path: root/mingling/src/setups
diff options
context:
space:
mode:
Diffstat (limited to 'mingling/src/setups')
-rw-r--r--mingling/src/setups/basic.rs6
-rw-r--r--mingling/src/setups/repl_basic.rs19
2 files changed, 11 insertions, 14 deletions
diff --git a/mingling/src/setups/basic.rs b/mingling/src/setups/basic.rs
index e081c3e..c8f8ad8 100644
--- a/mingling/src/setups/basic.rs
+++ b/mingling/src/setups/basic.rs
@@ -51,7 +51,7 @@ where
C: ProgramCollect<Enum = C>,
{
fn setup(self, program: &mut Program<C>) {
- program.global_flag(self.flag.clone(), |p| {
+ program.global_flag(self.flag, |p| {
p.user_context.help = true;
});
}
@@ -90,7 +90,7 @@ where
C: ProgramCollect<Enum = C>,
{
fn setup(self, program: &mut Program<C>) {
- program.global_flag(self.flag.clone(), |p| {
+ program.global_flag(self.flag, |p| {
p.stdout_setting.render_output = false;
p.stdout_setting.error_output = false;
});
@@ -130,7 +130,7 @@ where
C: ProgramCollect<Enum = C>,
{
fn setup(self, program: &mut Program<C>) {
- program.global_flag(self.flag.clone(), |p| {
+ program.global_flag(self.flag, |p| {
p.user_context.confirm = true;
});
}
diff --git a/mingling/src/setups/repl_basic.rs b/mingling/src/setups/repl_basic.rs
index 150048b..ea20721 100644
--- a/mingling/src/setups/repl_basic.rs
+++ b/mingling/src/setups/repl_basic.rs
@@ -43,24 +43,21 @@ where
{
fn setup(self, program: &mut Program<C>) {
match self {
- BasicREPLPromptSetup::Prompt(prompt) => {
+ Self::Prompt(prompt) => {
static PROMPT: std::sync::OnceLock<String> = std::sync::OnceLock::new();
- let _ = PROMPT.set(prompt.clone());
- fn print_prompt() {
+ let _ = PROMPT.set(prompt);
+ program.with_hook(ProgramHook::empty().on_repl_pre_readline(|_| {
print!("{}", PROMPT.get().unwrap());
let _ = std::io::stdout().flush();
- }
- program.with_hook(ProgramHook::empty().on_repl_pre_readline(|_| print_prompt()));
+ }));
}
- BasicREPLPromptSetup::Func(f) => {
+ Self::Func(f) => {
static FUNC: std::sync::OnceLock<fn() -> String> = std::sync::OnceLock::new();
let _ = FUNC.set(f);
- fn print_func_prompt() {
+ program.with_hook(ProgramHook::empty().on_repl_pre_readline(|_| {
print!("{}", FUNC.get().unwrap()());
let _ = std::io::stdout().flush();
- }
- program
- .with_hook(ProgramHook::empty().on_repl_pre_readline(|_| print_func_prompt()));
+ }));
}
}
}
@@ -75,7 +72,7 @@ where
fn setup(self, program: &mut Program<C>) {
program.with_hook(ProgramHook::empty().on_repl_receive_result(|r| {
if !r.result.is_empty() {
- println!("{}", r.result)
+ println!("{}", r.result);
}
}));
}