Misc fixes (#1700)

This commit is contained in:
Yuri Astrakhan 2023-10-16 23:07:09 -04:00 committed by GitHub
parent 55da31a8a5
commit be7f161554
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 30 additions and 33 deletions

View File

@ -15,7 +15,7 @@ test:
ci: build-book ci: build-book
cargo test --all cargo test --all
cargo clippy --all --all-targets cargo clippy --all --all-targets -- --deny warnings
cargo fmt --all -- --check cargo fmt --all -- --check
./bin/forbid ./bin/forbid
cargo update --locked --package just cargo update --locked --package just

View File

@ -616,7 +616,7 @@ impl Config {
}; };
let unstable = matches.is_present(arg::UNSTABLE) let unstable = matches.is_present(arg::UNSTABLE)
|| std::env::var_os("JUST_UNSTABLE") || env::var_os("JUST_UNSTABLE")
.map(|val| !(val == "false" || val == "0" || val.is_empty())) .map(|val| !(val == "false" || val == "0" || val.is_empty()))
.unwrap_or_default(); .unwrap_or_default();
@ -662,7 +662,7 @@ impl Config {
pub(crate) fn run(self, loader: &Loader) -> Result<(), Error> { pub(crate) fn run(self, loader: &Loader) -> Result<(), Error> {
if let Err(error) = InterruptHandler::install(self.verbosity) { if let Err(error) = InterruptHandler::install(self.verbosity) {
warn!("Failed to set CTRL-C handler: {}", error); warn!("Failed to set CTRL-C handler: {error}");
} }
self.subcommand.execute(&self, loader) self.subcommand.execute(&self, loader)
@ -761,7 +761,7 @@ mod tests {
match Config::from_matches(&matches).expect_err("config parsing succeeded") { match Config::from_matches(&matches).expect_err("config parsing succeeded") {
$error => { $($check)? } $error => { $($check)? }
other => panic!("Unexpected config error: {}", other), other => panic!("Unexpected config error: {other}"),
} }
} }
} }

View File

@ -210,12 +210,12 @@ impl<'src, 'run> Evaluator<'src, 'run> {
cmd.export(self.settings, self.dotenv, &self.scope); cmd.export(self.settings, self.dotenv, &self.scope);
cmd.stdin(process::Stdio::inherit()); cmd.stdin(Stdio::inherit());
cmd.stderr(if self.config.verbosity.quiet() { cmd.stderr(if self.config.verbosity.quiet() {
process::Stdio::null() Stdio::null()
} else { } else {
process::Stdio::inherit() Stdio::inherit()
}); });
InterruptHandler::guard(|| { InterruptHandler::guard(|| {

View File

@ -337,9 +337,9 @@ fn sha256_file(context: &FunctionContext, path: &str) -> Result<String, String>
let justpath = context.search.working_directory.join(path); let justpath = context.search.working_directory.join(path);
let mut hasher = Sha256::new(); let mut hasher = Sha256::new();
let mut file = fs::File::open(&justpath) let mut file = fs::File::open(&justpath)
.map_err(|err| format!("Failed to open file at `{:?}`: {err}", &justpath.to_str()))?; .map_err(|err| format!("Failed to open file at `{:?}`: {err}", justpath.to_str()))?;
std::io::copy(&mut file, &mut hasher) std::io::copy(&mut file, &mut hasher)
.map_err(|err| format!("Failed to read file at `{:?}`: {err}", &justpath.to_str()))?; .map_err(|err| format!("Failed to read file at `{:?}`: {err}", justpath.to_str()))?;
let hash = hasher.finalize(); let hash = hasher.finalize();
Ok(format!("{hash:x}")) Ok(format!("{hash:x}"))
} }

View File

@ -26,7 +26,7 @@ impl InterruptHandler {
} }
.color_display(Color::auto().stderr()) .color_display(Color::auto().stderr())
); );
std::process::exit(EXIT_FAILURE); process::exit(EXIT_FAILURE);
} }
} }
} }
@ -69,7 +69,7 @@ impl InterruptHandler {
.color_display(Color::auto().stderr()) .color_display(Color::auto().stderr())
); );
} }
std::process::exit(EXIT_FAILURE); process::exit(EXIT_FAILURE);
} }
self.blocks -= 1; self.blocks -= 1;

View File

@ -729,7 +729,7 @@ impl<'src> Lexer<'src> {
} }
self.token(Whitespace); self.token(Whitespace);
} else if let Some(character) = self.next { } else if let Some(character) = self.next {
return Err(self.error(CompileErrorKind::InvalidEscapeSequence { character })); return Err(self.error(InvalidEscapeSequence { character }));
} }
Ok(()) Ok(())

View File

@ -48,7 +48,7 @@ pub(crate) use {
rc::Rc, rc::Rc,
str::{self, Chars}, str::{self, Chars},
sync::{Mutex, MutexGuard}, sync::{Mutex, MutexGuard},
usize, vec, vec,
}, },
{ {
camino::Utf8Path, camino::Utf8Path,

View File

@ -15,7 +15,7 @@ pub(crate) fn output(mut command: Command) -> Result<String, OutputError> {
None => OutputError::Unknown, None => OutputError::Unknown,
}); });
} }
match std::str::from_utf8(&output.stdout) { match str::from_utf8(&output.stdout) {
Err(error) => Err(OutputError::Utf8(error)), Err(error) => Err(OutputError::Utf8(error)),
Ok(utf8) => Ok( Ok(utf8) => Ok(
if utf8.ends_with('\n') { if utf8.ends_with('\n') {

View File

@ -11,11 +11,11 @@ pub(crate) enum OutputError {
/// Unknown failure /// Unknown failure
Unknown, Unknown,
/// Stdout not UTF-8 /// Stdout not UTF-8
Utf8(std::str::Utf8Error), Utf8(str::Utf8Error),
} }
impl Display for OutputError { impl Display for OutputError {
fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> { fn fmt(&self, f: &mut Formatter) -> Result<(), fmt::Error> {
match *self { match *self {
Self::Code(code) => write!(f, "Process exited with status code {code}"), Self::Code(code) => write!(f, "Process exited with status code {code}"),
Self::Io(ref io_error) => write!(f, "Error executing process: {io_error}"), Self::Io(ref io_error) => write!(f, "Error executing process: {io_error}"),

View File

@ -33,7 +33,7 @@ impl PlatformInterface for Platform {
fs::set_permissions(path, permissions) fs::set_permissions(path, permissions)
} }
fn signal_from_exit_status(exit_status: process::ExitStatus) -> Option<i32> { fn signal_from_exit_status(exit_status: ExitStatus) -> Option<i32> {
use std::os::unix::process::ExitStatusExt; use std::os::unix::process::ExitStatusExt;
exit_status.signal() exit_status.signal()
} }

View File

@ -14,7 +14,7 @@ pub(crate) trait PlatformInterface {
/// Extract the signal from a process exit status, if it was terminated by a /// Extract the signal from a process exit status, if it was terminated by a
/// signal /// signal
fn signal_from_exit_status(exit_status: process::ExitStatus) -> Option<i32>; fn signal_from_exit_status(exit_status: ExitStatus) -> Option<i32>;
/// Translate a path from a "native" path to a path the interpreter expects /// Translate a path from a "native" path to a path the interpreter expects
fn convert_native_path(working_directory: &Path, path: &Path) -> Result<String, String>; fn convert_native_path(working_directory: &Path, path: &Path) -> Result<String, String>;

View File

@ -49,7 +49,7 @@ impl<'src, D> Recipe<'src, D> {
pub(crate) fn max_arguments(&self) -> usize { pub(crate) fn max_arguments(&self) -> usize {
if self.parameters.iter().any(|p| p.kind.is_variadic()) { if self.parameters.iter().any(|p| p.kind.is_variadic()) {
usize::max_value() - 1 usize::MAX - 1
} else { } else {
self.parameters.len() self.parameters.len()
} }

View File

@ -99,7 +99,7 @@ impl Subcommand {
let starting_path = match &config.search_config { let starting_path = match &config.search_config {
SearchConfig::FromInvocationDirectory => config.invocation_directory.clone(), SearchConfig::FromInvocationDirectory => config.invocation_directory.clone(),
SearchConfig::FromSearchDirectory { search_directory } => { SearchConfig::FromSearchDirectory { search_directory } => {
std::env::current_dir().unwrap().join(search_directory) env::current_dir().unwrap().join(search_directory)
} }
_ => unreachable!(), _ => unreachable!(),
}; };

View File

@ -108,7 +108,7 @@ macro_rules! run_error {
).expect_err("Expected runtime error") { ).expect_err("Expected runtime error") {
$error => $check $error => $check
other => { other => {
panic!("Unexpected run error: {:?}", other); panic!("Unexpected run error: {other:?}");
} }
} }
} else { } else {

View File

@ -56,7 +56,7 @@ impl<'src> Thunk<'src> {
name: Name<'src>, name: Name<'src>,
mut arguments: Vec<Expression<'src>>, mut arguments: Vec<Expression<'src>>,
) -> CompileResult<'src, Thunk<'src>> { ) -> CompileResult<'src, Thunk<'src>> {
crate::function::get(name.lexeme()).map_or( function::get(name.lexeme()).map_or(
Err(name.error(CompileErrorKind::UnknownFunction { Err(name.error(CompileErrorKind::UnknownFunction {
function: name.lexeme(), function: name.lexeme(),
})), })),

View File

@ -40,6 +40,6 @@ impl Verbosity {
} }
pub const fn default() -> Self { pub const fn default() -> Self {
Self::Taciturn Taciturn
} }
} }

View File

@ -101,7 +101,7 @@ fn skip_recipes_that_require_arguments() {
#[test] #[test]
fn no_choosable_recipes() { fn no_choosable_recipes() {
crate::test::Test::new() Test::new()
.arg("--choose") .arg("--choose")
.justfile( .justfile(
" "
@ -200,7 +200,7 @@ fn default() {
}; };
let cat = which("cat").unwrap(); let cat = which("cat").unwrap();
let fzf = tmp.path().join(format!("fzf{}", env::consts::EXE_SUFFIX)); let fzf = tmp.path().join(format!("fzf{EXE_SUFFIX}"));
#[cfg(unix)] #[cfg(unix)]
std::os::unix::fs::symlink(cat, fzf).unwrap(); std::os::unix::fs::symlink(cat, fzf).unwrap();

View File

@ -116,7 +116,7 @@ fn editor_precedence() {
assert_stdout(&output, JUSTFILE); assert_stdout(&output, JUSTFILE);
let cat = which("cat").unwrap(); let cat = which("cat").unwrap();
let vim = tmp.path().join(format!("vim{}", EXE_SUFFIX)); let vim = tmp.path().join(format!("vim{EXE_SUFFIX}"));
#[cfg(unix)] #[cfg(unix)]
std::os::unix::fs::symlink(cat, vim).unwrap(); std::os::unix::fs::symlink(cat, vim).unwrap();

View File

@ -120,7 +120,7 @@ fn test_downwards_multiple_path_argument() {
} }
#[test] #[test]
fn single_downards() { fn single_downwards() {
let tmp = temptree! { let tmp = temptree! {
justfile: "default:\n\techo ok", justfile: "default:\n\techo ok",
child: {}, child: {},

View File

@ -23,7 +23,7 @@ fn flag() {
#[cfg(not(windows))] #[cfg(not(windows))]
{ {
let permissions = std::os::unix::fs::PermissionsExt::from_mode(0o700); let permissions = std::os::unix::fs::PermissionsExt::from_mode(0o700);
std::fs::set_permissions(&shell, permissions).unwrap(); fs::set_permissions(&shell, permissions).unwrap();
} }
let output = Command::new(executable_path("just")) let output = Command::new(executable_path("just"))

View File

@ -1,6 +1,6 @@
use super::*; use super::*;
pub(crate) fn tempdir() -> tempfile::TempDir { pub(crate) fn tempdir() -> TempDir {
tempfile::Builder::new() tempfile::Builder::new()
.prefix("just-test-tempdir") .prefix("just-test-tempdir")
.tempdir() .tempdir()

View File

@ -33,10 +33,7 @@ a:hover {
body { body {
display: grid; display: grid;
grid-template-columns: repeat(4, 1fr); grid-template-columns: repeat(4, 1fr);
margin-bottom: var(--margin-vertical); margin: var(--margin-vertical) var(--margin-horizontal);
margin-left: var(--margin-horizontal);
margin-right: var(--margin-horizontal);
margin-top: var(--margin-vertical);
} }
body > * { body > * {