Update to edition 2024

This commit is contained in:
itsjunetime
2025-02-21 08:58:44 -07:00
parent 9d2a730e40
commit 70f3401702
6 changed files with 26 additions and 23 deletions
+2 -1
View File
@@ -2,7 +2,7 @@
name = "tdf-viewer" name = "tdf-viewer"
version = "0.2.0" version = "0.2.0"
authors = ["June Welker <junewelker@gmail.com>"] authors = ["June Welker <junewelker@gmail.com>"]
edition = "2021" edition = "2024"
description = "A terminal viewer for PDFs" description = "A terminal viewer for PDFs"
readme = "README.md" readme = "README.md"
homepage = "https://github.com/itsjunetime/tdf" homepage = "https://github.com/itsjunetime/tdf"
@@ -11,6 +11,7 @@ license = "AGPL-3.0-only"
keywords = ["pdf", "tui", "cli", "terminal"] keywords = ["pdf", "tui", "cli", "terminal"]
categories = ["command-line-utilities", "text-processing", "visualization"] categories = ["command-line-utilities", "text-processing", "visualization"]
default-run = "tdf" default-run = "tdf"
rust-version = "1.85"
[[bin]] [[bin]]
name = "tdf" name = "tdf"
+4 -4
View File
@@ -6,15 +6,15 @@ use std::{
time::{SystemTime, UNIX_EPOCH} 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 futures_util::StreamExt;
use tdf::{ use tdf::{
converter::{ConvertedPage, ConverterMsg}, converter::{ConvertedPage, ConverterMsg},
renderer::{fill_default, PageInfo, RenderInfo} renderer::{PageInfo, RenderInfo, fill_default}
}; };
use utils::{ use utils::{
handle_converter_msg, handle_renderer_msg, render_doc, start_all_rendering, RenderState, handle_converter_msg, handle_renderer_msg, render_doc, start_all_rendering,
start_converting_loop, start_rendering_loop, RenderState start_converting_loop, start_rendering_loop
}; };
const FILES: [&str; 3] = [ const FILES: [&str; 3] = [
+3 -3
View File
@@ -1,13 +1,13 @@
use std::{hint::black_box, path::Path}; use std::{hint::black_box, path::Path};
use crossterm::terminal::WindowSize; 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 futures_util::stream::StreamExt as _;
use ratatui::layout::Rect; use ratatui::layout::Rect;
use ratatui_image::picker::{Picker, ProtocolType}; use ratatui_image::picker::{Picker, ProtocolType};
use tdf::{ use tdf::{
converter::{run_conversion_loop, ConvertedPage, ConverterMsg}, converter::{ConvertedPage, ConverterMsg, run_conversion_loop},
renderer::{fill_default, start_rendering, RenderError, RenderInfo, RenderNotif} renderer::{RenderError, RenderInfo, RenderNotif, fill_default, start_rendering}
}; };
pub fn handle_renderer_msg( pub fn handle_renderer_msg(
+2 -2
View File
@@ -2,10 +2,10 @@ use flume::{Receiver, SendError, Sender, TryRecvError};
use futures_util::stream::StreamExt; use futures_util::stream::StreamExt;
use image::DynamicImage; use image::DynamicImage;
use itertools::Itertools; use itertools::Itertools;
use ratatui_image::{picker::Picker, protocol::Protocol, Resize}; use ratatui_image::{Resize, picker::Picker, protocol::Protocol};
use rayon::iter::ParallelIterator; use rayon::iter::ParallelIterator;
use crate::renderer::{fill_default, PageInfo, RenderError}; use crate::renderer::{PageInfo, RenderError, fill_default};
pub struct ConvertedPage { pub struct ConvertedPage {
pub page: Protocol, pub page: Protocol,
+6 -6
View File
@@ -1,6 +1,6 @@
use std::{ use std::{
ffi::OsString, ffi::OsString,
io::{stdout, Read, Write}, io::{Read, Write, stdout},
num::NonZeroUsize, num::NonZeroUsize,
path::PathBuf path::PathBuf
}; };
@@ -8,16 +8,16 @@ use std::{
use crossterm::{ use crossterm::{
execute, execute,
terminal::{ terminal::{
disable_raw_mode, enable_raw_mode, window_size, EndSynchronizedUpdate, EndSynchronizedUpdate, EnterAlternateScreen, LeaveAlternateScreen, disable_raw_mode,
EnterAlternateScreen, LeaveAlternateScreen enable_raw_mode, window_size
} }
}; };
use futures_util::{stream::StreamExt, FutureExt}; use futures_util::{FutureExt, stream::StreamExt};
use notify::{Event, EventKind, RecursiveMode, Watcher}; use notify::{Event, EventKind, RecursiveMode, Watcher};
use ratatui::{backend::CrosstermBackend, Terminal}; use ratatui::{Terminal, backend::CrosstermBackend};
use ratatui_image::picker::Picker; use ratatui_image::picker::Picker;
use tdf::{ use tdf::{
converter::{run_conversion_loop, ConvertedPage, ConverterMsg}, converter::{ConvertedPage, ConverterMsg, run_conversion_loop},
renderer::{self, RenderError, RenderInfo, RenderNotif}, renderer::{self, RenderError, RenderInfo, RenderNotif},
tui::{BottomMessage, InputAction, MessageSetting, Tui} tui::{BottomMessage, InputAction, MessageSetting, Tui}
}; };
+9 -7
View File
@@ -4,22 +4,22 @@ use crossterm::{
event::{Event, KeyCode, KeyModifiers, MouseEventKind}, event::{Event, KeyCode, KeyModifiers, MouseEventKind},
execute, execute,
terminal::{ terminal::{
disable_raw_mode, enable_raw_mode, BeginSynchronizedUpdate, EnterAlternateScreen, BeginSynchronizedUpdate, EnterAlternateScreen, LeaveAlternateScreen, disable_raw_mode,
LeaveAlternateScreen enable_raw_mode
} }
}; };
use nix::{ use nix::{
sys::signal::{kill, Signal::SIGSTOP}, sys::signal::{Signal::SIGSTOP, kill},
unistd::Pid unistd::Pid
}; };
use ratatui::{ use ratatui::{
Frame,
layout::{Constraint, Flex, Layout, Rect}, layout::{Constraint, Flex, Layout, Rect},
style::{Color, Style}, style::{Color, Style},
text::Span, text::Span,
widgets::{Block, Borders, Padding}, widgets::{Block, Borders, Padding}
Frame
}; };
use ratatui_image::{protocol::Protocol, Image}; use ratatui_image::{Image, protocol::Protocol};
use crate::{renderer::RenderError, skip::Skip}; use crate::{renderer::RenderError, skip::Skip};
@@ -516,7 +516,9 @@ impl Tui {
Some(InputAction::JumpingToPage(zero_page)) Some(InputAction::JumpingToPage(zero_page))
} else { } else {
self.set_msg(MessageSetting::Some(BottomMessage::Error( 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) Some(InputAction::Redraw)
} }