diff options
Diffstat (limited to 'mingling_picker/src/builtin')
| -rw-r--r-- | mingling_picker/src/builtin/pick_bool.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/mingling_picker/src/builtin/pick_bool.rs b/mingling_picker/src/builtin/pick_bool.rs new file mode 100644 index 0000000..ad93a83 --- /dev/null +++ b/mingling_picker/src/builtin/pick_bool.rs @@ -0,0 +1,15 @@ +use crate::{parselib::Matcher, pickable_needed::*}; + +impl<'a> Pickable<'a> for bool { + fn get_attr(_: &'a PickerFlag<'a, Self>) -> PickerFlagAttr { + PickerFlagAttr::Flag + } + + fn tag(ctx: TagPhaseContext) -> Vec<usize> { + <bool as Matcher>::match_all(ctx.into()) + } + + fn pick(raw_strs: &[&str]) -> PickerArgResult<Self> { + PickerArgResult::Parsed(!raw_strs.is_empty()) + } +} |
