fix user ref regex, system ref parsing and add s <id>

This commit is contained in:
dusk 2025-11-23 19:27:18 +00:00
parent 74e7af0ee1
commit b9fb453c73
No known key found for this signature in database
2 changed files with 10 additions and 9 deletions

View file

@ -46,13 +46,16 @@ pub fn edit() -> impl Iterator<Item = Command> {
.flag(("private", ["priv"]))
.flag(ALL)
};
let system_info_cmd_self = once(add_info_flags(
command!(system => "system_info_self").help("Shows information about your system"),
));
let system_info_cmd = once(add_info_flags(
let system_info_cmd_self =
once(command!(system => "system_info_self").help("Shows information about your system"))
.map(add_info_flags);
let system_info_cmd = [
command!(system_target => "system_info").help("Shows information about your system"),
command!(system_target, ("info", ["show", "view"]) => "system_info")
.help("Shows information about your system"),
));
]
.into_iter()
.map(add_info_flags);
let system_name = tokens!(system_target, "name");
let system_name_cmd =

View file

@ -139,9 +139,7 @@ impl Parameter {
ParameterKind::MemberRefs => Ok(ParameterValue::MemberRefs(
input.split(' ').map(|s| s.trim().to_string()).collect(),
)),
ParameterKind::SystemRef => {
Ok(parse_user_ref(input).unwrap_or(ParameterValue::SystemRef(input.into())))
}
ParameterKind::SystemRef => Ok(ParameterValue::SystemRef(input.into())),
ParameterKind::UserRef => parse_user_ref(input),
ParameterKind::MemberPrivacyTarget => MemberPrivacyTargetKind::from_str(input)
.map(|target| ParameterValue::MemberPrivacyTarget(target.as_ref().into())),
@ -321,7 +319,7 @@ fn parse_user_ref(input: &str) -> Result<ParameterValue, SmolStr> {
}
static RE: std::sync::LazyLock<Regex> =
std::sync::LazyLock::new(|| Regex::new(r"<@!?(\\d{17,19})>").unwrap());
std::sync::LazyLock::new(|| Regex::new(r"<@!?(\d{17,19})>").unwrap());
if let Some(captures) = RE.captures(&input) {
return captures[1]
.parse::<u64>()