From bbe09d24579854c69e3ee1be73e62d51e9a73b92 Mon Sep 17 00:00:00 2001 From: Jonas Maier <> Date: Fri, 17 Apr 2026 18:34:33 +0200 Subject: type builtin: tell the user that an alias is an alias --- src/run/builtin.rs | 11 +++++++++-- src/run/mod.rs | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'src') 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; }; -- cgit v1.2.3