diff options
| -rw-r--r-- | src/run/builtin.rs | 11 | ||||
| -rw-r--r-- | src/run/mod.rs | 2 |
2 files changed, 10 insertions, 3 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 +} diff --git a/src/run/mod.rs b/src/run/mod.rs index d52c4e7..36cd454 100644 --- a/src/run/mod.rs +++ b/src/run/mod.rs @@ -451,7 +451,7 @@ impl Aliases { } } - fn get(&mut self, name: &bstr, older_than: AliasAge) -> Option<(AliasAge, AliasBody)> { + fn get(&self, name: &bstr, older_than: AliasAge) -> Option<(AliasAge, AliasBody)> { let Some(alias_set) = self.aliases.get(name) else { return None; }; |
