mirror of
https://github.com/Llewellynvdm/exa.git
synced 2024-11-05 04:17:51 +00:00
Inline this thing
If a function returns one of several enum variants, but we’re only interested in one, then just return its contents and have it apply the Mode “wrapper” later.
This commit is contained in:
parent
65d94636d7
commit
4be0a36d4e
@ -53,13 +53,11 @@ impl Mode {
|
||||
Err(Useless("oneline", true, "long"))
|
||||
}
|
||||
else {
|
||||
let details = details::Options {
|
||||
Ok(details::Options {
|
||||
columns: Some(Columns::deduce(matches)?),
|
||||
header: matches.opt_present("header"),
|
||||
xattr: xattr::ENABLED && matches.opt_present("extended"),
|
||||
};
|
||||
|
||||
Ok(Mode::Details(details))
|
||||
})
|
||||
}
|
||||
};
|
||||
|
||||
@ -133,21 +131,15 @@ impl Mode {
|
||||
};
|
||||
|
||||
if matches.opt_present("long") {
|
||||
let view = long()?;
|
||||
let details = long()?;
|
||||
if matches.opt_present("grid") {
|
||||
if let Mode::Details(details) = view {
|
||||
let others = other_options_scan()?;
|
||||
match others {
|
||||
Mode::Grid(grid) => return Ok(Mode::GridDetails(grid, details)),
|
||||
_ => return Ok(others),
|
||||
};
|
||||
}
|
||||
else {
|
||||
unreachable!()
|
||||
}
|
||||
match other_options_scan()? {
|
||||
Mode::Grid(grid) => return Ok(Mode::GridDetails(grid, details)),
|
||||
others => return Ok(others),
|
||||
};
|
||||
}
|
||||
else {
|
||||
return Ok(view);
|
||||
return Ok(Mode::Details(details));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user