aboutsummaryrefslogtreecommitdiff
path: root/mingling/src/picker_comp.rs
diff options
context:
space:
mode:
Diffstat (limited to 'mingling/src/picker_comp.rs')
-rw-r--r--mingling/src/picker_comp.rs52
1 files changed, 0 insertions, 52 deletions
diff --git a/mingling/src/picker_comp.rs b/mingling/src/picker_comp.rs
deleted file mode 100644
index 26b0b5a..0000000
--- a/mingling/src/picker_comp.rs
+++ /dev/null
@@ -1,52 +0,0 @@
-use arg_picker::{Pickable, PickerArg, PickerArgInfo, parselib::ParserStyle};
-use mingling_core::{Suggest, SuggestItem};
-
-/// Trait for converting picker arguments into `Suggest` items for autocompletion.
-///
-/// This trait is implemented for `PickerArg` references and provides methods to
-/// generate completion suggestions with optional descriptions.
-pub trait PickerArgSuggest {
- #[doc(hidden)]
- fn into_suggest_raw(self, description: Option<&String>) -> Suggest;
-
- /// Converts the picker argument into a `Suggest` with the given description.
- ///
- /// The description is used when the suggestion item supports additional text,
- /// such as `SuggestItem::WithDescription`.
- fn into_suggest_with_desc(self, description: impl Into<String>) -> Suggest
- where
- Self: Sized,
- {
- let desc = description.into();
- self.into_suggest_raw(Some(&desc))
- }
-
- /// Converts the picker argument into a `Suggest` without a description.
- ///
- /// The resulting suggestion will use `SuggestItem::Simple` for each possible flag.
- fn into_suggest(self) -> Suggest
- where
- Self: Sized,
- {
- self.into_suggest_raw(None)
- }
-}
-
-impl<'a, T> PickerArgSuggest for &'a PickerArg<'a, T>
-where
- T: Pickable<'a>,
-{
- fn into_suggest_raw(self, description: Option<&String>) -> Suggest {
- let mut suggest = Suggest::new();
- let info = PickerArgInfo::from(self);
- let possible_flags =
- arg_picker::parselib::build_possible_flags(ParserStyle::global_style(), &info);
- for flag in possible_flags {
- match description {
- Some(desc) => suggest.insert(SuggestItem::WithDescription(flag, desc.clone())),
- None => suggest.insert(SuggestItem::Simple(flag)),
- };
- }
- suggest
- }
-}