summaryrefslogtreecommitdiff
path: root/mingling/src/parser/args.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-03-31 08:54:51 +0800
committer魏曹先生 <1992414357@qq.com>2026-03-31 08:54:51 +0800
commit537a815efaa3fb85435ca3e500f870d448b17337 (patch)
tree5897d9b69edf9cfdc50210b7d7d2fe57461126c6 /mingling/src/parser/args.rs
parent39f4f34cfdf940e1c74184edb3387ef8900ba4b4 (diff)
Add Argument type to picker builtins and expose Picker
- Add `#[derive(Debug, Default)]` to `Argument` struct - Add `dump_remains` method to `Argument` - Remove `#[doc(hidden)]` from `Picker` struct - Implement `Pickable` for `Argument` to allow consuming remaining args
Diffstat (limited to 'mingling/src/parser/args.rs')
-rw-r--r--mingling/src/parser/args.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/mingling/src/parser/args.rs b/mingling/src/parser/args.rs
index e659feb..a1f1eb0 100644
--- a/mingling/src/parser/args.rs
+++ b/mingling/src/parser/args.rs
@@ -1,5 +1,8 @@
+use std::mem::replace;
+
use mingling_core::{Flag, special_argument, special_flag};
+#[derive(Debug, Default)]
pub struct Argument {
vec: Vec<String>,
}
@@ -92,4 +95,10 @@ impl Argument {
}
false
}
+
+ /// Dump all remaining arguments
+ pub fn dump_remains(&mut self) -> Vec<String> {
+ let new = Vec::new();
+ replace(&mut self.vec, new)
+ }
}