aboutsummaryrefslogtreecommitdiff
path: root/arg_picker/src/builtin
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-08-10 16:52:19 +0800
committer魏曹先生 <1992414357@qq.com>2026-08-10 16:52:19 +0800
commit02e07a18fcb3af9319c271f6e41d5b7785e2e436 (patch)
treeff76916c254e87a7aadc5cb4dfd2134eaf4f03fc /arg_picker/src/builtin
parent03b487f0f93ac32835149d4c1a0fb420341134f8 (diff)
style: satisfy clippy pedantic and nursery lints
Diffstat (limited to 'arg_picker/src/builtin')
-rw-r--r--arg_picker/src/builtin/pick_flag.rs4
-rw-r--r--arg_picker/src/builtin/pick_ip_attr.rs39
-rw-r--r--arg_picker/src/builtin/pick_numbers.rs9
-rw-r--r--arg_picker/src/builtin/pick_pathbuf.rs10
-rw-r--r--arg_picker/src/builtin/pick_paths.rs22
-rw-r--r--arg_picker/src/builtin/pick_picker_args.rs2
-rw-r--r--arg_picker/src/builtin/pick_socket_attr.rs39
-rw-r--r--arg_picker/src/builtin/pick_string.rs5
8 files changed, 57 insertions, 73 deletions
diff --git a/arg_picker/src/builtin/pick_flag.rs b/arg_picker/src/builtin/pick_flag.rs
index b642a9a..8afc0fc 100644
--- a/arg_picker/src/builtin/pick_flag.rs
+++ b/arg_picker/src/builtin/pick_flag.rs
@@ -13,9 +13,9 @@ impl<'a> Pickable<'a> for Flag {
fn pick(raw_strs: &[&str]) -> PickerArgResult<Self> {
if raw_strs.is_empty() {
- PickerArgResult::Parsed(Flag::Inactive)
+ PickerArgResult::Parsed(Self::Inactive)
} else {
- PickerArgResult::Parsed(Flag::Active)
+ PickerArgResult::Parsed(Self::Active)
}
}
}
diff --git a/arg_picker/src/builtin/pick_ip_attr.rs b/arg_picker/src/builtin/pick_ip_attr.rs
index d68fa15..57ac80e 100644
--- a/arg_picker/src/builtin/pick_ip_attr.rs
+++ b/arg_picker/src/builtin/pick_ip_attr.rs
@@ -4,36 +4,33 @@ use crate::SinglePickable;
impl SinglePickable for IpAddr {
fn pick_single(str: Option<&str>) -> crate::PickerArgResult<Self> {
- match str {
- Some(s) => match s.parse::<IpAddr>() {
- Ok(addr) => crate::PickerArgResult::Parsed(addr),
- Err(_) => crate::PickerArgResult::NotFound,
- },
- None => crate::PickerArgResult::NotFound,
- }
+ str.map_or(crate::PickerArgResult::NotFound, |s| {
+ s.parse::<Self>()
+ .map_or(crate::PickerArgResult::NotFound, |addr| {
+ crate::PickerArgResult::Parsed(addr)
+ })
+ })
}
}
impl SinglePickable for Ipv4Addr {
fn pick_single(str: Option<&str>) -> crate::PickerArgResult<Self> {
- match str {
- Some(s) => match s.parse::<Ipv4Addr>() {
- Ok(addr) => crate::PickerArgResult::Parsed(addr),
- Err(_) => crate::PickerArgResult::NotFound,
- },
- None => crate::PickerArgResult::NotFound,
- }
+ str.map_or(crate::PickerArgResult::NotFound, |s| {
+ s.parse::<Self>()
+ .map_or(crate::PickerArgResult::NotFound, |addr| {
+ crate::PickerArgResult::Parsed(addr)
+ })
+ })
}
}
impl SinglePickable for Ipv6Addr {
fn pick_single(str: Option<&str>) -> crate::PickerArgResult<Self> {
- match str {
- Some(s) => match s.parse::<Ipv6Addr>() {
- Ok(addr) => crate::PickerArgResult::Parsed(addr),
- Err(_) => crate::PickerArgResult::NotFound,
- },
- None => crate::PickerArgResult::NotFound,
- }
+ str.map_or(crate::PickerArgResult::NotFound, |s| {
+ s.parse::<Self>()
+ .map_or(crate::PickerArgResult::NotFound, |addr| {
+ crate::PickerArgResult::Parsed(addr)
+ })
+ })
}
}
diff --git a/arg_picker/src/builtin/pick_numbers.rs b/arg_picker/src/builtin/pick_numbers.rs
index a5ab0a9..6cbd4fc 100644
--- a/arg_picker/src/builtin/pick_numbers.rs
+++ b/arg_picker/src/builtin/pick_numbers.rs
@@ -21,10 +21,7 @@ fn is_int_like(raw: &str) -> bool {
if bytes.is_empty() {
return false;
}
- let mut i = 0;
- if bytes[0] == b'-' || bytes[0] == b'+' {
- i = 1;
- }
+ let i = usize::from(bytes[0] == b'-' || bytes[0] == b'+');
if i >= bytes.len() {
return false;
}
@@ -69,12 +66,12 @@ impl_boundary_check_int! {
// Integer-like strings trigger a boundary.
impl BoundaryCheck for f32 {
fn check_boundary(raw: &str) -> bool {
- !is_float_like(raw) || raw.parse::<f32>().is_err()
+ !is_float_like(raw) || raw.parse::<Self>().is_err()
}
}
impl BoundaryCheck for f64 {
fn check_boundary(raw: &str) -> bool {
- !is_float_like(raw) || raw.parse::<f64>().is_err()
+ !is_float_like(raw) || raw.parse::<Self>().is_err()
}
}
diff --git a/arg_picker/src/builtin/pick_pathbuf.rs b/arg_picker/src/builtin/pick_pathbuf.rs
index 3bd4410..2b48e3d 100644
--- a/arg_picker/src/builtin/pick_pathbuf.rs
+++ b/arg_picker/src/builtin/pick_pathbuf.rs
@@ -7,12 +7,8 @@ use crate::{
impl SinglePickable for PathBuf {
fn pick_single(str: Option<&str>) -> crate::PickerArgResult<Self> {
- match str {
- Some(str) => match just_fmt::fmt_path_str(str) {
- Ok(formated) => Parsed(PathBuf::from(formated)),
- Err(_) => NotFound,
- },
- None => NotFound,
- }
+ str.map_or(NotFound, |str| {
+ just_fmt::fmt_path_str(str).map_or(NotFound, |formated| Parsed(Self::from(formated)))
+ })
}
}
diff --git a/arg_picker/src/builtin/pick_paths.rs b/arg_picker/src/builtin/pick_paths.rs
index 8e6c0fd..954464b 100644
--- a/arg_picker/src/builtin/pick_paths.rs
+++ b/arg_picker/src/builtin/pick_paths.rs
@@ -17,7 +17,7 @@ impl SinglePickable for FilePath {
match <PathBuf as SinglePickable>::pick_single(str) {
Parsed(path) => {
if path.exists() && path.is_file() {
- Parsed(FilePath::from(path))
+ Parsed(Self::from(path))
} else {
NotFound
}
@@ -33,7 +33,7 @@ impl SinglePickable for NoFilePath {
match <PathBuf as SinglePickable>::pick_single(str) {
Parsed(path) => {
if !path.exists() || !path.is_file() {
- Parsed(NoFilePath::from(path))
+ Parsed(Self::from(path))
} else {
NotFound
}
@@ -49,7 +49,7 @@ impl SinglePickable for DirPath {
match <PathBuf as SinglePickable>::pick_single(str) {
Parsed(path) => {
if path.exists() && path.is_dir() {
- Parsed(DirPath::from(path))
+ Parsed(Self::from(path))
} else {
NotFound
}
@@ -65,7 +65,7 @@ impl SinglePickable for NoDirPath {
match <PathBuf as SinglePickable>::pick_single(str) {
Parsed(path) => {
if !path.exists() || !path.is_dir() {
- Parsed(NoDirPath::from(path))
+ Parsed(Self::from(path))
} else {
NotFound
}
@@ -81,7 +81,7 @@ impl SinglePickable for SymlinkPath {
match <PathBuf as SinglePickable>::pick_single(str) {
Parsed(path) => {
if path.exists() && path.is_symlink() {
- Parsed(SymlinkPath::from(path))
+ Parsed(Self::from(path))
} else {
NotFound
}
@@ -97,7 +97,7 @@ impl SinglePickable for NoSymlinkPath {
match <PathBuf as SinglePickable>::pick_single(str) {
Parsed(path) => {
if !path.exists() || !path.is_symlink() {
- Parsed(NoSymlinkPath::from(path))
+ Parsed(Self::from(path))
} else {
NotFound
}
@@ -112,10 +112,10 @@ impl SinglePickable for NoPath {
fn pick_single(str: Option<&str>) -> PickerArgResult<Self> {
match <PathBuf as SinglePickable>::pick_single(str) {
Parsed(path) => {
- if !path.exists() {
- Parsed(NoPath::from(path))
- } else {
+ if path.exists() {
NotFound
+ } else {
+ Parsed(Self::from(path))
}
}
Unparsed => Unparsed,
@@ -132,7 +132,7 @@ impl SinglePickable for RecursiveFiles {
return NotFound;
}
if path.is_file() || path.is_symlink() {
- return Parsed(RecursiveFiles::from(vec![path]));
+ return Parsed(Self::from(vec![path]));
}
let mut entries = Vec::new();
if let Ok(dir_entries) = fs::read_dir(&path) {
@@ -145,7 +145,7 @@ impl SinglePickable for RecursiveFiles {
}
}
}
- Parsed(RecursiveFiles::from(entries))
+ Parsed(Self::from(entries))
}
Unparsed => Unparsed,
NotFound => NotFound,
diff --git a/arg_picker/src/builtin/pick_picker_args.rs b/arg_picker/src/builtin/pick_picker_args.rs
index 419cbc8..618960f 100644
--- a/arg_picker/src/builtin/pick_picker_args.rs
+++ b/arg_picker/src/builtin/pick_picker_args.rs
@@ -15,7 +15,7 @@ impl<'a> Pickable<'a> for PickerArgs<'a> {
}
fn pick(raw_strs: &[&str]) -> PickerArgResult<Self> {
- let remains: Vec<String> = raw_strs.iter().map(|s| s.to_string()).collect();
+ let remains: Vec<String> = raw_strs.iter().map(ToString::to_string).collect();
Parsed(PickerArgs::Owned(remains))
}
}
diff --git a/arg_picker/src/builtin/pick_socket_attr.rs b/arg_picker/src/builtin/pick_socket_attr.rs
index 0c0dd71..ba9a410 100644
--- a/arg_picker/src/builtin/pick_socket_attr.rs
+++ b/arg_picker/src/builtin/pick_socket_attr.rs
@@ -4,36 +4,33 @@ use crate::SinglePickable;
impl SinglePickable for SocketAddr {
fn pick_single(str: Option<&str>) -> crate::PickerArgResult<Self> {
- match str {
- Some(s) => match s.parse::<SocketAddr>() {
- Ok(addr) => crate::PickerArgResult::Parsed(addr),
- Err(_) => crate::PickerArgResult::NotFound,
- },
- None => crate::PickerArgResult::NotFound,
- }
+ str.map_or(crate::PickerArgResult::NotFound, |s| {
+ s.parse::<Self>()
+ .map_or(crate::PickerArgResult::NotFound, |addr| {
+ crate::PickerArgResult::Parsed(addr)
+ })
+ })
}
}
impl SinglePickable for SocketAddrV4 {
fn pick_single(str: Option<&str>) -> crate::PickerArgResult<Self> {
- match str {
- Some(s) => match s.parse::<SocketAddrV4>() {
- Ok(addr) => crate::PickerArgResult::Parsed(addr),
- Err(_) => crate::PickerArgResult::NotFound,
- },
- None => crate::PickerArgResult::NotFound,
- }
+ str.map_or(crate::PickerArgResult::NotFound, |s| {
+ s.parse::<Self>()
+ .map_or(crate::PickerArgResult::NotFound, |addr| {
+ crate::PickerArgResult::Parsed(addr)
+ })
+ })
}
}
impl SinglePickable for SocketAddrV6 {
fn pick_single(str: Option<&str>) -> crate::PickerArgResult<Self> {
- match str {
- Some(s) => match s.parse::<SocketAddrV6>() {
- Ok(addr) => crate::PickerArgResult::Parsed(addr),
- Err(_) => crate::PickerArgResult::NotFound,
- },
- None => crate::PickerArgResult::NotFound,
- }
+ str.map_or(crate::PickerArgResult::NotFound, |s| {
+ s.parse::<Self>()
+ .map_or(crate::PickerArgResult::NotFound, |addr| {
+ crate::PickerArgResult::Parsed(addr)
+ })
+ })
}
}
diff --git a/arg_picker/src/builtin/pick_string.rs b/arg_picker/src/builtin/pick_string.rs
index c96f667..c7bdd4a 100644
--- a/arg_picker/src/builtin/pick_string.rs
+++ b/arg_picker/src/builtin/pick_string.rs
@@ -3,9 +3,6 @@ use crate::{SinglePickable, pickable_needed::*};
impl SinglePickable for String {
fn pick_single(str: Option<&str>) -> PickerArgResult<Self> {
- match str {
- Some(str) => PickerArgResult::Parsed(str.to_string()),
- None => NotFound,
- }
+ str.map_or(NotFound, |str| PickerArgResult::Parsed(str.to_string()))
}
}