fix more warnings

This commit is contained in:
Boshen 2024-06-21 12:29:50 +08:00
parent cdf92c0c5f
commit 47f08e0e10
No known key found for this signature in database
GPG Key ID: 9C7A8C8AB22BEBD1
4 changed files with 15 additions and 27 deletions

View File

@ -11,22 +11,17 @@ use crate::ThemeCharacters;
use crate::ThemeStyles; use crate::ThemeStyles;
/// Settings to control the color format used for graphical rendering. /// Settings to control the color format used for graphical rendering.
#[derive(Copy, Clone, Debug, Eq, PartialEq)] #[derive(Copy, Clone, Debug, Eq, PartialEq, Default)]
pub enum RgbColors { pub enum RgbColors {
/// Use RGB colors even if the terminal does not support them /// Use RGB colors even if the terminal does not support them
Always, Always,
/// Use RGB colors instead of ANSI if the terminal supports RGB /// Use RGB colors instead of ANSI if the terminal supports RGB
Preferred, Preferred,
/// Always use ANSI, regardless of terminal support for RGB /// Always use ANSI, regardless of terminal support for RGB
#[default]
Never, Never,
} }
impl Default for RgbColors {
fn default() -> RgbColors {
RgbColors::Never
}
}
/** /**
Create a custom [`MietteHandler`] from options. Create a custom [`MietteHandler`] from options.

View File

@ -359,7 +359,7 @@ impl GraphicalReportHandler {
// If there was no header, remove the leading newline // If there was no header, remove the leading newline
let inner = inner.trim_start_matches('\n'); let inner = inner.trim_start_matches('\n');
writeln!(f, "{}", self.wrap(&inner, opts))?; writeln!(f, "{}", self.wrap(inner, opts))?;
} }
ErrorKind::StdError(err) => { ErrorKind::StdError(err) => {
writeln!(f, "{}", self.wrap(&err.to_string(), opts))?; writeln!(f, "{}", self.wrap(&err.to_string(), opts))?;
@ -667,7 +667,7 @@ impl GraphicalReportHandler {
f, f,
max_gutter, max_gutter,
line, line,
&labels, labels,
LabelRenderMode::SingleLine, LabelRenderMode::SingleLine,
)?; )?;
@ -683,7 +683,7 @@ impl GraphicalReportHandler {
f, f,
max_gutter, max_gutter,
line, line,
&labels, labels,
LabelRenderMode::MultiLineFirst, LabelRenderMode::MultiLineFirst,
)?; )?;
@ -701,7 +701,7 @@ impl GraphicalReportHandler {
f, f,
max_gutter, max_gutter,
line, line,
&labels, labels,
LabelRenderMode::MultiLineRest, LabelRenderMode::MultiLineRest,
)?; )?;
self.render_multi_line_end_single( self.render_multi_line_end_single(
@ -714,13 +714,7 @@ impl GraphicalReportHandler {
} }
} else { } else {
// gutter _again_ // gutter _again_
self.render_highlight_gutter( self.render_highlight_gutter(f, max_gutter, line, labels, LabelRenderMode::SingleLine)?;
f,
max_gutter,
line,
&labels,
LabelRenderMode::SingleLine,
)?;
// has no label // has no label
writeln!(f, "{}", self.theme.characters.hbar.style(label.style))?; writeln!(f, "{}", self.theme.characters.hbar.style(label.style))?;
} }
@ -894,12 +888,10 @@ impl GraphicalReportHandler {
} else { } else {
result.push_str(opts.initial_indent); result.push_str(opts.initial_indent);
} }
} else if line.trim().is_empty() {
result.push_str(trimmed_indent);
} else { } else {
if line.trim().is_empty() { result.push_str(opts.subsequent_indent);
result.push_str(trimmed_indent);
} else {
result.push_str(opts.subsequent_indent);
}
} }
result.push_str(line); result.push_str(line);
} }

View File

@ -1,6 +1,7 @@
use std::path::Path; use std::path::Path;
// all syntect imports are explicitly qualified, but their paths are shortened for convenience // all syntect imports are explicitly qualified, but their paths are shortened for convenience
#[allow(clippy::module_inception)]
mod syntect { mod syntect {
pub(super) use syntect::{ pub(super) use syntect::{
highlighting::{ highlighting::{
@ -96,7 +97,7 @@ impl SyntectHighlighter {
} }
// finally, attempt to guess syntax based on first line // finally, attempt to guess syntax based on first line
return self.syntax_set.find_syntax_by_first_line( return self.syntax_set.find_syntax_by_first_line(
&std::str::from_utf8(contents.data()) std::str::from_utf8(contents.data())
.ok()? .ok()?
.split('\n') .split('\n')
.next()?, .next()?,
@ -116,13 +117,13 @@ pub(crate) struct SyntectHighlighterState<'h> {
impl<'h> HighlighterState for SyntectHighlighterState<'h> { impl<'h> HighlighterState for SyntectHighlighterState<'h> {
fn highlight_line<'s>(&mut self, line: &'s str) -> Vec<Styled<&'s str>> { fn highlight_line<'s>(&mut self, line: &'s str) -> Vec<Styled<&'s str>> {
if let Ok(ops) = self.parse_state.parse_line(line, &self.syntax_set) { if let Ok(ops) = self.parse_state.parse_line(line, self.syntax_set) {
let use_bg_color = self.use_bg_color; let use_bg_color = self.use_bg_color;
syntect::HighlightIterator::new( syntect::HighlightIterator::new(
&mut self.highlight_state, &mut self.highlight_state,
&ops, &ops,
line, line,
&mut self.highlighter, &self.highlighter,
) )
.map(|(style, str)| (convert_style(style, use_bg_color).style(str))) .map(|(style, str)| (convert_style(style, use_bg_color).style(str)))
.collect() .collect()

View File

@ -12,7 +12,7 @@ pub fn set_panic_hook() {
message = msg.to_string(); message = msg.to_string();
} }
if let Some(msg) = payload.downcast_ref::<String>() { if let Some(msg) = payload.downcast_ref::<String>() {
message = msg.clone(); message.clone_from(msg);
} }
let mut report: Result<()> = Err(Panic(message).into()); let mut report: Result<()> = Err(Panic(message).into());
if let Some(loc) = info.location() { if let Some(loc) = info.location() {