diff --git a/src/shell/mod.rs b/src/shell/mod.rs index 42e20684376bc54b1793a7f092518ab5440ca1a8..9722f4014ae21f97856f884432aff1d2f45240a5 100644 --- a/src/shell/mod.rs +++ b/src/shell/mod.rs @@ -240,7 +240,11 @@ impl<'a> Shell { .map(String::from) .chain(pipeline.items[job_no].job.args.drain().skip(1)) .collect::<Array>(); - pipeline.items[job_no].job.command = new_args[0].clone().into(); + if let Some(builtin) = BUILTINS.get(&new_args[0]) { + pipeline.items[job_no].job.builtin = Some(builtin.main); + } else { + pipeline.items[job_no].job.command = new_args[0].clone().into(); + } pipeline.items[job_no].job.args = new_args; } }