diff --git a/Cargo.toml b/Cargo.toml index c682b26..9026fcd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ name = "tdf-viewer" version = "0.2.0" authors = ["June Welker "] -edition = "2021" +edition = "2024" description = "A terminal viewer for PDFs" readme = "README.md" homepage = "https://github.com/itsjunetime/tdf" @@ -11,6 +11,7 @@ license = "AGPL-3.0-only" keywords = ["pdf", "tui", "cli", "terminal"] categories = ["command-line-utilities", "text-processing", "visualization"] default-run = "tdf" +rust-version = "1.85" [[bin]] name = "tdf" diff --git a/benches/rendering.rs b/benches/rendering.rs index d6b94e2..fadea83 100644 --- a/benches/rendering.rs +++ b/benches/rendering.rs @@ -6,15 +6,15 @@ use std::{ time::{SystemTime, UNIX_EPOCH} }; -use criterion::{criterion_group, criterion_main, profiler::Profiler, BenchmarkId, Criterion}; +use criterion::{BenchmarkId, Criterion, criterion_group, criterion_main, profiler::Profiler}; use futures_util::StreamExt; use tdf::{ converter::{ConvertedPage, ConverterMsg}, - renderer::{fill_default, PageInfo, RenderInfo} + renderer::{PageInfo, RenderInfo, fill_default} }; use utils::{ - handle_converter_msg, handle_renderer_msg, render_doc, start_all_rendering, - start_converting_loop, start_rendering_loop, RenderState + RenderState, handle_converter_msg, handle_renderer_msg, render_doc, start_all_rendering, + start_converting_loop, start_rendering_loop }; const FILES: [&str; 3] = [ diff --git a/benches/utils.rs b/benches/utils.rs index 384e160..64f4b7a 100644 --- a/benches/utils.rs +++ b/benches/utils.rs @@ -1,13 +1,13 @@ use std::{hint::black_box, path::Path}; use crossterm::terminal::WindowSize; -use flume::{r#async::RecvStream, unbounded, Sender}; +use flume::{Sender, r#async::RecvStream, unbounded}; use futures_util::stream::StreamExt as _; use ratatui::layout::Rect; use ratatui_image::picker::{Picker, ProtocolType}; use tdf::{ - converter::{run_conversion_loop, ConvertedPage, ConverterMsg}, - renderer::{fill_default, start_rendering, RenderError, RenderInfo, RenderNotif} + converter::{ConvertedPage, ConverterMsg, run_conversion_loop}, + renderer::{RenderError, RenderInfo, RenderNotif, fill_default, start_rendering} }; pub fn handle_renderer_msg( diff --git a/src/converter.rs b/src/converter.rs index ac0727c..17f45c4 100644 --- a/src/converter.rs +++ b/src/converter.rs @@ -2,10 +2,10 @@ use flume::{Receiver, SendError, Sender, TryRecvError}; use futures_util::stream::StreamExt; use image::DynamicImage; use itertools::Itertools; -use ratatui_image::{picker::Picker, protocol::Protocol, Resize}; +use ratatui_image::{Resize, picker::Picker, protocol::Protocol}; use rayon::iter::ParallelIterator; -use crate::renderer::{fill_default, PageInfo, RenderError}; +use crate::renderer::{PageInfo, RenderError, fill_default}; pub struct ConvertedPage { pub page: Protocol, diff --git a/src/main.rs b/src/main.rs index 805cabd..dcbfaf3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,6 @@ use std::{ ffi::OsString, - io::{stdout, Read, Write}, + io::{Read, Write, stdout}, num::NonZeroUsize, path::PathBuf }; @@ -8,16 +8,16 @@ use std::{ use crossterm::{ execute, terminal::{ - disable_raw_mode, enable_raw_mode, window_size, EndSynchronizedUpdate, - EnterAlternateScreen, LeaveAlternateScreen + EndSynchronizedUpdate, EnterAlternateScreen, LeaveAlternateScreen, disable_raw_mode, + enable_raw_mode, window_size } }; -use futures_util::{stream::StreamExt, FutureExt}; +use futures_util::{FutureExt, stream::StreamExt}; use notify::{Event, EventKind, RecursiveMode, Watcher}; -use ratatui::{backend::CrosstermBackend, Terminal}; +use ratatui::{Terminal, backend::CrosstermBackend}; use ratatui_image::picker::Picker; use tdf::{ - converter::{run_conversion_loop, ConvertedPage, ConverterMsg}, + converter::{ConvertedPage, ConverterMsg, run_conversion_loop}, renderer::{self, RenderError, RenderInfo, RenderNotif}, tui::{BottomMessage, InputAction, MessageSetting, Tui} }; diff --git a/src/tui.rs b/src/tui.rs index 8dcfdfb..5cea96d 100644 --- a/src/tui.rs +++ b/src/tui.rs @@ -4,22 +4,22 @@ use crossterm::{ event::{Event, KeyCode, KeyModifiers, MouseEventKind}, execute, terminal::{ - disable_raw_mode, enable_raw_mode, BeginSynchronizedUpdate, EnterAlternateScreen, - LeaveAlternateScreen + BeginSynchronizedUpdate, EnterAlternateScreen, LeaveAlternateScreen, disable_raw_mode, + enable_raw_mode } }; use nix::{ - sys::signal::{kill, Signal::SIGSTOP}, + sys::signal::{Signal::SIGSTOP, kill}, unistd::Pid }; use ratatui::{ + Frame, layout::{Constraint, Flex, Layout, Rect}, style::{Color, Style}, text::Span, - widgets::{Block, Borders, Padding}, - Frame + widgets::{Block, Borders, Padding} }; -use ratatui_image::{protocol::Protocol, Image}; +use ratatui_image::{Image, protocol::Protocol}; use crate::{renderer::RenderError, skip::Skip}; @@ -516,7 +516,9 @@ impl Tui { Some(InputAction::JumpingToPage(zero_page)) } else { self.set_msg(MessageSetting::Some(BottomMessage::Error( - format!("Cannot jump to page {page}; there are only {rendered_len} pages in the document") + format!( + "Cannot jump to page {page}; there are only {rendered_len} pages in the document" + ) ))); Some(InputAction::Redraw) }