Fix clippy, CI

This commit is contained in:
David Peter committed 2025-08-31 21:17:54 +02:00
1 parent f2547aed69
commit 38301f3759
5 files changed
+96 -131

No files matched your search

+1 -1
View File
@@ -9,7 +9,7 @@ readme = "README.md"
repository = "https://github.com/sharkdp/hexyl" repository = "https://github.com/sharkdp/hexyl"
version = "0.16.0" version = "0.16.0"
edition = "2021" edition = "2021"
rust-version = "1.80" rust-version = "1.88"
[dependencies] [dependencies]
anyhow = "1.0" anyhow = "1.0"
+2 -4
View File
@@ -3,10 +3,8 @@ use std::io;
use hexyl::{BorderStyle, PrinterBuilder}; use hexyl::{BorderStyle, PrinterBuilder};
fn main() { fn main() {
let input = vec![ let input = [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44,
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x44, 0x08, 0x02, 0x00, 0x00, 0x00];
0x52, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x44, 0x08, 0x02, 0x00, 0x00, 0x00,
];
let stdout = io::stdout(); let stdout = io::stdout();
let mut handle = stdout.lock(); let mut handle = stdout.lock();
+1 -1
View File
@@ -18,7 +18,7 @@ pub const COLOR_RESET: &str = colors::Default::ANSI_FG;
fn init_color(name: &str, default_ansi: AnsiColors) -> String { fn init_color(name: &str, default_ansi: AnsiColors) -> String {
let default = DynColors::Ansi(default_ansi); let default = DynColors::Ansi(default_ansi);
let env_var = format!("HEXYL_COLOR_{}", name); let env_var = format!("HEXYL_COLOR_{name}");
let color = match std::env::var(env_var).as_deref() { let color = match std::env::var(env_var).as_deref() {
Ok(color) => match DynColors::from_str(color) { Ok(color) => match DynColors::from_str(color) {
Ok(color) => color, Ok(color) => color,
+1 -1
View File
@@ -21,7 +21,7 @@ impl Seek for Input<'_> {
where where
R: Read, R: Read,
{ {
let cant_seek_abs_err = || Err(io::Error::new(io::ErrorKind::Other, err_desc)); let cant_seek_abs_err = || Err(io::Error::other(err_desc));
let offset = match pos { let offset = match pos {
SeekFrom::Current(o) => u64::try_from(o).or_else(|_e| cant_seek_abs_err())?, SeekFrom::Current(o) => u64::try_from(o).or_else(|_e| cant_seek_abs_err())?,
+91 -124
View File
@@ -344,20 +344,45 @@ impl<'a, Writer: Write> PrinterBuilder<'a, Writer> {
} }
pub fn build(self) -> Printer<'a, Writer> { pub fn build(self) -> Printer<'a, Writer> {
Printer::new( Printer {
self.writer, idx: 0,
self.show_color, line_buf: vec![0x0; 8 * self.panels as usize],
self.show_char_panel, writer: self.writer,
self.show_position_panel, show_char_panel: self.show_char_panel,
self.border_style, show_position_panel: self.show_position_panel,
self.use_squeeze, show_color: self.show_color,
self.panels, curr_color: None,
self.group_size, color_scheme: self.color_scheme,
self.base, border_style: self.border_style,
self.endianness, byte_hex_panel: (0u8..=u8::MAX)
self.character_table, .map(|i| match self.base {
self.color_scheme, Base::Binary => format!("{i:08b}"),
) Base::Octal => format!("{i:03o}"),
Base::Decimal => format!("{i:03}"),
Base::Hexadecimal => format!("{i:02x}"),
})
.collect(),
byte_char_panel: (0u8..=u8::MAX)
.map(|i| format!("{}", Byte(i).as_char(self.character_table)))
.collect(),
byte_hex_panel_g: (0u8..=u8::MAX).map(|i| format!("{i:02x}")).collect(),
squeezer: if self.use_squeeze {
Squeezer::Ignore
} else {
Squeezer::Disabled
},
display_offset: 0,
panels: self.panels,
squeeze_byte: 0x00,
group_size: self.group_size,
base_digits: match self.base {
Base::Binary => 8,
Base::Octal => 3,
Base::Decimal => 3,
Base::Hexadecimal => 2,
},
endianness: self.endianness,
}
} }
} }
@@ -390,60 +415,6 @@ pub struct Printer<'a, Writer: Write> {
} }
impl<'a, Writer: Write> Printer<'a, Writer> { impl<'a, Writer: Write> Printer<'a, Writer> {
fn new(
writer: &'a mut Writer,
show_color: bool,
show_char_panel: bool,
show_position_panel: bool,
border_style: BorderStyle,
use_squeeze: bool,
panels: u64,
group_size: u8,
base: Base,
endianness: Endianness,
character_table: CharacterTable,
color_scheme: ColorScheme,
) -> Printer<'a, Writer> {
Printer {
idx: 0,
line_buf: vec![0x0; 8 * panels as usize],
writer,
show_char_panel,
show_position_panel,
show_color,
curr_color: None,
color_scheme,
border_style,
byte_hex_panel: (0u8..=u8::MAX)
.map(|i| match base {
Base::Binary => format!("{i:08b}"),
Base::Octal => format!("{i:03o}"),
Base::Decimal => format!("{i:03}"),
Base::Hexadecimal => format!("{i:02x}"),
})
.collect(),
byte_char_panel: (0u8..=u8::MAX)
.map(|i| format!("{}", Byte(i).as_char(character_table)))
.collect(),
byte_hex_panel_g: (0u8..=u8::MAX).map(|i| format!("{i:02x}")).collect(),
squeezer: if use_squeeze {
Squeezer::Ignore
} else {
Squeezer::Disabled
},
display_offset: 0,
panels,
squeeze_byte: 0x00,
group_size,
base_digits: match base {
Base::Binary => 8,
Base::Octal => 3,
Base::Decimal => 3,
Base::Hexadecimal => 2,
},
endianness,
}
}
pub fn display_offset(&mut self, display_offset: u64) -> &mut Self { pub fn display_offset(&mut self, display_offset: u64) -> &mut Self {
self.display_offset = display_offset; self.display_offset = display_offset;
@@ -844,20 +815,19 @@ mod tests {
fn assert_print_all_output<Reader: Read>(input: Reader, expected_string: String) { fn assert_print_all_output<Reader: Read>(input: Reader, expected_string: String) {
let mut output = vec![]; let mut output = vec![];
let mut printer = Printer::new( let mut printer = PrinterBuilder::new(&mut output)
&mut output, .show_color(false)
false, .show_char_panel(true)
true, .show_position_panel(true)
true, .with_border_style(BorderStyle::Unicode)
BorderStyle::Unicode, .enable_squeezing(true)
true, .num_panels(2)
2, .group_size(1)
1, .with_base(Base::Hexadecimal)
Base::Hexadecimal, .endianness(Endianness::Big)
Endianness::Big, .character_table(CharacterTable::Default)
CharacterTable::Default, .color_scheme(ColorScheme::Default)
ColorScheme::Default, .build();
);
printer.print_all(input).unwrap(); printer.print_all(input).unwrap();
@@ -901,20 +871,19 @@ mod tests {
.to_owned(); .to_owned();
let mut output = vec![]; let mut output = vec![];
let mut printer: Printer<Vec<u8>> = Printer::new( let mut printer: Printer<Vec<u8>> = PrinterBuilder::new(&mut output)
&mut output, .show_color(false)
false, .show_char_panel(true)
true, .show_position_panel(true)
true, .with_border_style(BorderStyle::Unicode)
BorderStyle::Unicode, .enable_squeezing(true)
true, .num_panels(2)
2, .group_size(1)
1, .with_base(Base::Hexadecimal)
Base::Hexadecimal, .endianness(Endianness::Big)
Endianness::Big, .character_table(CharacterTable::Default)
CharacterTable::Default, .color_scheme(ColorScheme::Default)
ColorScheme::Default, .build();
);
printer.display_offset(0xdeadbeef); printer.display_offset(0xdeadbeef);
printer.print_all(input).unwrap(); printer.print_all(input).unwrap();
@@ -937,20 +906,19 @@ mod tests {
.to_owned(); .to_owned();
let mut output = vec![]; let mut output = vec![];
let mut printer: Printer<Vec<u8>> = Printer::new( let mut printer: Printer<Vec<u8>> = PrinterBuilder::new(&mut output)
&mut output, .show_color(false)
false, .show_char_panel(true)
true, .show_position_panel(true)
true, .with_border_style(BorderStyle::Unicode)
BorderStyle::Unicode, .enable_squeezing(true)
true, .num_panels(4)
4, .group_size(1)
1, .with_base(Base::Hexadecimal)
Base::Hexadecimal, .endianness(Endianness::Big)
Endianness::Big, .character_table(CharacterTable::Default)
CharacterTable::Default, .color_scheme(ColorScheme::Default)
ColorScheme::Default, .build();
);
printer.print_all(input).unwrap(); printer.print_all(input).unwrap();
@@ -999,20 +967,19 @@ mod tests {
.to_owned(); .to_owned();
let mut output = vec![]; let mut output = vec![];
let mut printer: Printer<Vec<u8>> = Printer::new( let mut printer: Printer<Vec<u8>> = PrinterBuilder::new(&mut output)
&mut output, .show_color(false)
false, .show_char_panel(true)
true, .show_position_panel(true)
true, .with_border_style(BorderStyle::Unicode)
BorderStyle::Unicode, .enable_squeezing(true)
true, .num_panels(3)
3, .group_size(1)
1, .with_base(Base::Hexadecimal)
Base::Hexadecimal, .endianness(Endianness::Big)
Endianness::Big, .character_table(CharacterTable::Default)
CharacterTable::Default, .color_scheme(ColorScheme::Default)
ColorScheme::Default, .build();
);
printer.print_all(input).unwrap(); printer.print_all(input).unwrap();