Fix multiple bugs

This commit is contained in:
Austen Adler 2024-09-03 23:34:34 -04:00
parent 204dfec1dd
commit 424c47d327

View File

@ -5,10 +5,11 @@ use crossbeam_channel::{Receiver, Sender};
use notify_debouncer_mini::{new_debouncer, notify::*, DebounceEventResult}; use notify_debouncer_mini::{new_debouncer, notify::*, DebounceEventResult};
use std::{ use std::{
collections::HashSet, collections::HashSet,
ffi::OsString, ffi::{OsStr, OsString},
fs, fs,
io::Write, io::Write,
path::{Path, PathBuf}, path::{Path, PathBuf},
str::FromStr,
time::Duration, time::Duration,
}; };
@ -71,7 +72,11 @@ impl FmtArgs {
"Argument parsing error -- input was empty, but --inplace was specified", "Argument parsing error -- input was empty, but --inplace was specified",
))) )))
} else if let Some(ref output_file) = &self.output { } else if let Some(ref output_file) = &self.output {
Some(JsoncOutput::File(output_file)) Some(if output_file.as_os_str() == "-" {
JsoncOutput::Stdout
} else {
JsoncOutput::File(output_file)
})
} else if self.json_output.is_some() { } else if self.json_output.is_some() {
// We don't want to output jsonc anywhere if they don't specify -o and they do specify -O // We don't want to output jsonc anywhere if they don't specify -o and they do specify -O
None None
@ -139,9 +144,9 @@ fn format_single_file(
// Format json next // Format json next
if let Some(ref json_output_file) = json_output { if let Some(ref json_output_file) = json_output {
let output = if json_compact { let output = if json_compact {
fjson::to_json(&input_str).context("Formatting to json")
} else {
fjson::to_json_compact(&input_str).context("Formatting to json") fjson::to_json_compact(&input_str).context("Formatting to json")
} else {
fjson::to_json(&input_str).context("Formatting to json")
}?; }?;
if json_output_file.as_ref().as_os_str() == "-" { if json_output_file.as_ref().as_os_str() == "-" {