Skip to content

Commit 65b3f66

Browse files
committed
imp(srs/args): Added longest_filter to AnyArg trait
This function allows providing an extra filter to remove elements when finding the longest element.
1 parent d51945f commit 65b3f66

File tree

5 files changed

+5
-0
lines changed

5 files changed

+5
-0
lines changed

src/app/mod.rs

+1
Original file line numberDiff line numberDiff line change
@@ -936,6 +936,7 @@ impl<'n, 'e> AnyArg<'n, 'e> for App<'n, 'e> {
936936
fn takes_value(&self) -> bool { true }
937937
fn help(&self) -> Option<&'e str> { self.p.meta.about }
938938
fn default_val(&self) -> Option<&'n str> { None }
939+
fn longest_filter(&self) -> bool { true }
939940
}
940941

941942
impl<'n, 'e> fmt::Display for App<'n, 'e> {

src/args/any_arg.rs

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ pub trait AnyArg<'n, 'e> {
2525
fn val_names(&self) -> Option<&VecMap<&'e str>>;
2626
fn help(&self) -> Option<&'e str>;
2727
fn default_val(&self) -> Option<&'n str>;
28+
fn longest_filter(&self) -> bool;
2829
}
2930

3031
pub trait DispOrder {

src/args/arg_builder/flag.rs

+1
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ impl<'n, 'e> AnyArg<'n, 'e> for FlagBuilder<'n, 'e> {
129129
fn val_delim(&self) -> Option<char> { None }
130130
fn help(&self) -> Option<&'e str> { self.help }
131131
fn default_val(&self) -> Option<&'n str> { None }
132+
fn longest_filter(&self) -> bool { self.long.is_some() }
132133
}
133134

134135
impl<'n, 'e> DispOrder for FlagBuilder<'n, 'e> {

src/args/arg_builder/option.rs

+1
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ impl<'n, 'e> AnyArg<'n, 'e> for OptBuilder<'n, 'e> {
193193
fn takes_value(&self) -> bool { true }
194194
fn help(&self) -> Option<&'e str> { self.help }
195195
fn default_val(&self) -> Option<&'n str> { self.default_val }
196+
fn longest_filter(&self) -> bool { true }
196197
}
197198

198199
impl<'n, 'e> DispOrder for OptBuilder<'n, 'e> {

src/args/arg_builder/positional.rs

+1
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ impl<'n, 'e> AnyArg<'n, 'e> for PosBuilder<'n, 'e> {
180180
fn takes_value(&self) -> bool { true }
181181
fn help(&self) -> Option<&'e str> { self.help }
182182
fn default_val(&self) -> Option<&'n str> { self.default_val }
183+
fn longest_filter(&self) -> bool { true }
183184
}
184185

185186
impl<'n, 'e> DispOrder for PosBuilder<'n, 'e> {

0 commit comments

Comments
 (0)