mirror of
https://github.com/PluralKit/PluralKit.git
synced 2026-02-14 09:40:10 +00:00
detect invalid flags before misplaced flags
This commit is contained in:
parent
d4c80aed00
commit
6bc39d23fb
1 changed files with 7 additions and 8 deletions
|
|
@ -153,16 +153,15 @@ pub fn parse_command(
|
||||||
let mut flags: HashMap<String, Option<ParameterValue>> = HashMap::new();
|
let mut flags: HashMap<String, Option<ParameterValue>> = HashMap::new();
|
||||||
let mut misplaced_flags: Vec<MatchedFlag> = Vec::new();
|
let mut misplaced_flags: Vec<MatchedFlag> = Vec::new();
|
||||||
let mut invalid_flags: Vec<MatchedFlag> = Vec::new();
|
let mut invalid_flags: Vec<MatchedFlag> = Vec::new();
|
||||||
for (token_idx, matched_flag) in raw_flags {
|
for (token_idx, raw_flag) in raw_flags {
|
||||||
if token_idx != command.parse_flags_before {
|
let Some(matched_flag) = match_flag(command.flags.iter(), raw_flag.clone()) else {
|
||||||
misplaced_flags.push(matched_flag);
|
invalid_flags.push(raw_flag);
|
||||||
continue;
|
|
||||||
}
|
|
||||||
let Some(matched_flag) = match_flag(command.flags.iter(), matched_flag.clone())
|
|
||||||
else {
|
|
||||||
invalid_flags.push(matched_flag);
|
|
||||||
continue;
|
continue;
|
||||||
};
|
};
|
||||||
|
if token_idx != command.parse_flags_before {
|
||||||
|
misplaced_flags.push(raw_flag);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
match matched_flag {
|
match matched_flag {
|
||||||
// a flag was matched
|
// a flag was matched
|
||||||
Ok((name, value)) => {
|
Ok((name, value)) => {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue