Refactor ruff_cli's run method to return on each branch (#7040)

## Summary

I think the fallthrough here for some branches is a little confusing.
Now each branch either runs a command that returns `Result<ExitStatus>`,
or runs a command that returns `Result<()>` and then explicitly returns
`Ok(ExitStatus::SUCCESS)`.
This commit is contained in:
Charlie Marsh 2023-09-01 14:15:38 +01:00 committed by GitHub
parent 0489bbc54c
commit 08e246764f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 12 deletions

View file

@ -1,19 +1,19 @@
use crate::ExitStatus;
use anyhow::{anyhow, Result};
use ruff_workspace::options::Options;
#[allow(clippy::print_stdout)]
pub(crate) fn config(key: Option<&str>) -> ExitStatus {
pub(crate) fn config(key: Option<&str>) -> Result<()> {
match key {
None => print!("{}", Options::metadata()),
Some(key) => match Options::metadata().get(key) {
None => {
println!("Unknown option");
return ExitStatus::Error;
return Err(anyhow!("Unknown option: {key}"));
}
Some(entry) => {
print!("{entry}");
}
},
}
ExitStatus::Success
Ok(())
}