From 17759c3210a88a1babbde650e565442ce169a1c6 Mon Sep 17 00:00:00 2001 From: Quin Date: Sat, 12 Jul 2025 23:56:50 -0600 Subject: [PATCH] Sort imports with the help of rustfmt. --- .rustfmt.toml | 2 ++ htmlua-apache-cgi/src/main.rs | 3 ++- htmlua-parser/src/config.rs | 3 ++- htmlua-parser/src/lib.rs | 2 +- htmlua-parser/src/render.rs | 26 +++++++++++++++++--------- htmlua-parser/src/serve.rs | 6 ++++-- 6 files changed, 28 insertions(+), 14 deletions(-) diff --git a/.rustfmt.toml b/.rustfmt.toml index 21ebfc1..25b733d 100644 --- a/.rustfmt.toml +++ b/.rustfmt.toml @@ -9,3 +9,5 @@ brace_style = "PreferSameLine" blank_lines_upper_bound = 5 combine_control_expr = false wrap_comments = false +group_imports = "StdExternalCrate" +imports_granularity = "Crate" diff --git a/htmlua-apache-cgi/src/main.rs b/htmlua-apache-cgi/src/main.rs index ab91cb1..5998ff6 100644 --- a/htmlua-apache-cgi/src/main.rs +++ b/htmlua-apache-cgi/src/main.rs @@ -1,6 +1,7 @@ -use htmlua_parser::serve::serve_content; use std::env; +use htmlua_parser::serve::serve_content; + fn main() { println!("Content-Type: text/html\n"); diff --git a/htmlua-parser/src/config.rs b/htmlua-parser/src/config.rs index 70ea7a8..ffe1320 100644 --- a/htmlua-parser/src/config.rs +++ b/htmlua-parser/src/config.rs @@ -1,6 +1,7 @@ +use std::{fs, path::PathBuf}; + use anyhow::{Context, Result}; use serde::{Deserialize, Serialize}; -use std::{fs, path::PathBuf}; #[derive(Debug, Deserialize, Serialize, Clone)] pub struct Config { diff --git a/htmlua-parser/src/lib.rs b/htmlua-parser/src/lib.rs index 2dc831c..d2d5599 100644 --- a/htmlua-parser/src/lib.rs +++ b/htmlua-parser/src/lib.rs @@ -1,5 +1,5 @@ +pub mod config; pub mod helpers; pub mod htmlua_stdlib; -pub mod config; pub mod render; pub mod serve; diff --git a/htmlua-parser/src/render.rs b/htmlua-parser/src/render.rs index cc56eda..7046db8 100644 --- a/htmlua-parser/src/render.rs +++ b/htmlua-parser/src/render.rs @@ -5,7 +5,7 @@ use std::{ rc::Rc, }; -use anyhow::{anyhow, Result}; +use anyhow::{Result, anyhow}; use kuchikiki::{NodeRef, traits::TendrilSink}; use markup5ever::{LocalName, Namespace, QualName}; use mlua::{Lua, Table}; @@ -182,19 +182,27 @@ pub fn process_syntax_highlighting(document: NodeRef) -> Result { } pub fn generate_footnotes(document: NodeRef) -> Result { - let Ok(footnote_container) = document.select_first("footnotecontainer") else { return Ok(document) }; + let Ok(footnote_container) = document.select_first("footnotecontainer") else { + return Ok(document); + }; let ctx_name = QualName::new(None, Namespace::from("http://www.w3.org/1999/xhtml"), LocalName::from("div")); - for (i, footnote) in document.select("footnote").map_err(|()| anyhow!("Failed to get footnote"))?.enumerate() { + for (i, footnote) in document + .select("footnote") + .map_err(|()| anyhow!("Failed to get footnote"))? + .enumerate() + { let i = i + 1; let fn_text = footnote.text_contents(); - let sup_tag = kuchikiki::parse_fragment(ctx_name.clone(), Vec::new()).one( - format!("{i}") - ).select_first("a").map_err(|()| anyhow!("parse err"))?; + let sup_tag = kuchikiki::parse_fragment(ctx_name.clone(), Vec::new()) + .one(format!("{i}")) + .select_first("a") + .map_err(|()| anyhow!("parse err"))?; footnote.as_node().insert_after(sup_tag.as_node().clone()); - let text_tag = kuchikiki::parse_fragment(ctx_name.clone(), Vec::new()).one( - format!("

{i}: {fn_text}

") - ).select_first("p").map_err(|()| anyhow!("parse err"))?; + let text_tag = kuchikiki::parse_fragment(ctx_name.clone(), Vec::new()) + .one(format!("

{i}: {fn_text}

")) + .select_first("p") + .map_err(|()| anyhow!("parse err"))?; footnote_container.as_node().insert_before(text_tag.as_node().clone()); } while let Ok(i) = document.select_first("footnote") { diff --git a/htmlua-parser/src/serve.rs b/htmlua-parser/src/serve.rs index 9821210..715bfcc 100644 --- a/htmlua-parser/src/serve.rs +++ b/htmlua-parser/src/serve.rs @@ -1,10 +1,12 @@ +use std::{path::Path, sync::OnceLock}; + +use anyhow::Result; + use crate::{ config::Config, helpers::read_doc_from_file, render::{execute_lua, expand_template, process_markdown, process_syntax_highlighting}, }; -use anyhow::Result; -use std::{path::Path, sync::OnceLock}; static CONFIG: OnceLock = OnceLock::new();