diff options
Diffstat (limited to 'src/run/builtin.rs')
| -rw-r--r-- | src/run/builtin.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/run/builtin.rs b/src/run/builtin.rs index 47a10c2..710f0fc 100644 --- a/src/run/builtin.rs +++ b/src/run/builtin.rs @@ -7,6 +7,7 @@ use pish_derive::FromArgs; use super::{Builtin, BuiltinError as Error, BuiltinResult as Result}; use crate::parse::CmdDisplay; +use crate::run::AliasAge; use crate::*; #[allow(unused)] @@ -203,8 +204,14 @@ impl Builtin for _type { _stdin: &mut dyn Read, stdout: &mut dyn Write, ) -> Result { + let session = session.lock().unwrap(); for arg in args { - let kind = super::get_command_kind(&session.lock().unwrap(), &arg[..]); + if session.aliases.get(&arg, AliasAge::MAX).is_some() { + writeln!(stdout, "{} is an alias", String::from_utf8_lossy(arg))?; + continue; + } + + let kind = super::get_command_kind(&session, &arg[..]); let kind_str = match kind { run::CommandKind::Builtin(_) => "builtin", @@ -530,4 +537,4 @@ impl Builtin for unalias { Ok(()) } -}
\ No newline at end of file +} |
