From 19abe390d476232fa93bdb767ddf7bce77492ff4 Mon Sep 17 00:00:00 2001 From: Wilson Lin Date: Mon, 9 Aug 2021 19:56:37 +1000 Subject: [PATCH] Formatting --- bench/graph.js | 22 ++++++-- bench/runners/minify-html-onepass/src/main.rs | 25 ++++++--- bench/runners/minify-html/src/main.rs | 25 ++++++--- cli/src/main.rs | 3 +- format | 27 +++++++++ fuzz/process/src/main.rs | 8 +-- gen/codepoints.ts | 10 +++- gen/package.json | 7 +-- java/src/main/rust/lib.rs | 56 +++++++++++++------ rust/main/src/lib.rs | 4 +- rust/main/src/minify/attr.rs | 4 +- rust/main/src/minify/content.rs | 14 ++--- rust/main/src/minify/element.rs | 4 +- rust/main/src/parse/content.rs | 8 +-- rust/main/src/parse/element.rs | 14 ++--- rust/main/src/parse/tests/element.rs | 4 +- rust/onepass/src/lib.rs | 2 +- rust/onepass/src/proc/entity.rs | 2 +- rust/onepass/src/proc/mod.rs | 4 +- rust/onepass/src/unit/attr/mod.rs | 6 +- rust/onepass/src/unit/attr/value.rs | 6 +- rust/onepass/src/unit/content.rs | 12 ++-- rust/onepass/src/unit/tag.rs | 10 ++-- 23 files changed, 181 insertions(+), 96 deletions(-) create mode 100755 format diff --git a/bench/graph.js b/bench/graph.js index 9072779..e31deab 100644 --- a/bench/graph.js +++ b/bench/graph.js @@ -43,7 +43,7 @@ const averageChartOptions = (label) => ({ type: "linear", scaleLabel: { display: true, - fontColor: '#222', + fontColor: "#222", fontSize: 24, fontStyle: "bold", labelString: label, @@ -145,7 +145,12 @@ const renderChart = (cfg, width, height) => await fs.mkdir(GRAPHS_DIR, { recursive: true }); const res = results.calculate(); - const speedMinifiers = ["html-minifier", "minimize", "minify-html", "minify-html-onepass"]; + const speedMinifiers = [ + "html-minifier", + "minimize", + "minify-html", + "minify-html-onepass", + ]; const sizeMinifiers = ["minimize", "html-minifier", "minify-html"]; const inputs = Object.keys(res.inputSizes).sort(); @@ -208,11 +213,14 @@ const renderChart = (cfg, width, height) => label: minifier, data: inputs.map( (input) => - res.perInputOps[minifier][input] / res.perInputOps['minify-html'][input] + res.perInputOps[minifier][input] / + res.perInputOps["minify-html"][input] ), })), }, - ...breakdownChartOptions("Operations per second, relative to minify-html"), + ...breakdownChartOptions( + "Operations per second, relative to minify-html" + ), }, 900, 1600 @@ -228,7 +236,11 @@ const renderChart = (cfg, width, height) => labels: inputs, datasets: sizeMinifiers.map((minifier) => ({ label: minifier, - data: inputs.map((input) => res.perInputReduction[minifier][input] / res.perInputReduction['minify-html'][input]), + data: inputs.map( + (input) => + res.perInputReduction[minifier][input] / + res.perInputReduction["minify-html"][input] + ), })), }, ...breakdownChartOptions("Size reduction, relative to minify-html"), diff --git a/bench/runners/minify-html-onepass/src/main.rs b/bench/runners/minify-html-onepass/src/main.rs index 5351f34..b95ee74 100644 --- a/bench/runners/minify-html-onepass/src/main.rs +++ b/bench/runners/minify-html-onepass/src/main.rs @@ -1,13 +1,19 @@ -use std::{env, fs}; use std::io::stdout; use std::time::Instant; +use std::{env, fs}; -use minify_html_onepass::{Cfg, in_place}; +use minify_html_onepass::{in_place, Cfg}; fn main() { - let iterations = env::var("MHB_ITERATIONS").unwrap().parse::().unwrap(); + let iterations = env::var("MHB_ITERATIONS") + .unwrap() + .parse::() + .unwrap(); let input_dir = env::var("MHB_INPUT_DIR").unwrap(); - let html_only = env::var("MHB_HTML_ONLY").ok().filter(|v| v == "1").is_some(); + let html_only = env::var("MHB_HTML_ONLY") + .ok() + .filter(|v| v == "1") + .is_some(); let tests = fs::read_dir(input_dir).unwrap().map(|d| d.unwrap()); @@ -24,10 +30,15 @@ fn main() { for _ in 0..iterations { let mut data = source.to_vec(); len = in_place(&mut data, &cfg).expect("failed to minify"); - }; + } let elapsed = start.elapsed().as_secs_f64(); - results.push((t.file_name().into_string().unwrap(), len, iterations, elapsed)); - }; + results.push(( + t.file_name().into_string().unwrap(), + len, + iterations, + elapsed, + )); + } serde_json::to_writer(stdout(), &results).unwrap(); } diff --git a/bench/runners/minify-html/src/main.rs b/bench/runners/minify-html/src/main.rs index 8488791..ccfe9fe 100644 --- a/bench/runners/minify-html/src/main.rs +++ b/bench/runners/minify-html/src/main.rs @@ -1,13 +1,19 @@ -use std::{env, fs}; use std::io::stdout; use std::time::Instant; +use std::{env, fs}; -use minify_html::{Cfg, minify}; +use minify_html::{minify, Cfg}; fn main() { - let iterations = env::var("MHB_ITERATIONS").unwrap().parse::().unwrap(); + let iterations = env::var("MHB_ITERATIONS") + .unwrap() + .parse::() + .unwrap(); let input_dir = env::var("MHB_INPUT_DIR").unwrap(); - let html_only = env::var("MHB_HTML_ONLY").ok().filter(|v| v == "1").is_some(); + let html_only = env::var("MHB_HTML_ONLY") + .ok() + .filter(|v| v == "1") + .is_some(); let tests = fs::read_dir(input_dir).unwrap().map(|d| d.unwrap()); @@ -24,10 +30,15 @@ fn main() { let mut len = 0; for _ in 0..iterations { len = minify(&source, &cfg).len(); - }; + } let elapsed = start.elapsed().as_secs_f64(); - results.push((t.file_name().into_string().unwrap(), len, iterations, elapsed)); - }; + results.push(( + t.file_name().into_string().unwrap(), + len, + iterations, + elapsed, + )); + } serde_json::to_writer(stdout(), &results).unwrap(); } diff --git a/cli/src/main.rs b/cli/src/main.rs index ffbb25c..3e61e77 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -74,7 +74,8 @@ fn main() { let out_code = minify( &src_code, &Cfg { - ensure_spec_compliant_unquoted_attribute_values: args.ensure_spec_compliant_unquoted_attribute_values, + ensure_spec_compliant_unquoted_attribute_values: args + .ensure_spec_compliant_unquoted_attribute_values, keep_closing_tags: args.keep_closing_tags, keep_comments: args.keep_comments, keep_html_and_head_opening_tags: args.keep_html_and_head_opening_tags, diff --git a/format b/format new file mode 100755 index 0000000..a9741f0 --- /dev/null +++ b/format @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +set -Eeuxo pipefail + +pushd "$(dirname "$0")" >/dev/null + +npx prettier@2.3.2 -w 'bench/*.{js,json}' 'bench/*/*.{js,json}' 'gen/*.{ts,json}' + +for dir in \ + bench/runners/minify-html \ + bench/runners/minify-html-onepass \ + cli \ + fuzz \ + fuzz/process \ + java \ + nodejs/native \ + python \ + ruby \ + rust/main \ + rust/onepass \ +; do + pushd "$dir" >/dev/null + cargo fmt + popd >/dev/null +done + +popd >/dev/null diff --git a/fuzz/process/src/main.rs b/fuzz/process/src/main.rs index c3252a3..a84c39a 100644 --- a/fuzz/process/src/main.rs +++ b/fuzz/process/src/main.rs @@ -1,7 +1,7 @@ +use minify_html; use std::fs; use std::io::{self, Write}; use std::panic; -use minify_html; fn main() { for dirent in fs::read_dir("../out/crashes").unwrap() { @@ -9,9 +9,7 @@ fn main() { let path_in_catch = path.clone(); let res = panic::catch_unwind(|| { let mut contents = fs::read(path_in_catch).unwrap(); - let _ = minify_html::in_place(&mut contents, &minify_html::Cfg { - minify_js: false, - }); + let _ = minify_html::in_place(&mut contents, &minify_html::Cfg { minify_js: false }); }); if res.is_err() { let contents = fs::read(path).unwrap(); @@ -19,5 +17,5 @@ fn main() { break; }; fs::remove_file(path).unwrap(); - }; + } } diff --git a/gen/codepoints.ts b/gen/codepoints.ts index cc1470c..2d11b25 100644 --- a/gen/codepoints.ts +++ b/gen/codepoints.ts @@ -49,7 +49,15 @@ const SINGLE_QUOTE = [c("'")]; // Official characters allowed in an attribute name. // NOTE: Unicode noncharacters not tested. // See https://html.spec.whatwg.org/multipage/syntax.html#syntax-attribute-name for spec. -const WHATWG_ATTR_NAME_CHAR = invert([...CONTROL, c(' '), c('"'), c('\''), c('>'), c('/'), c('=')]); +const WHATWG_ATTR_NAME_CHAR = invert([ + ...CONTROL, + c(" "), + c('"'), + c("'"), + c(">"), + c("/"), + c("="), +]); // Valid attribute quote characters. // See https://html.spec.whatwg.org/multipage/introduction.html#intro-early-example for spec. // Backtick is not a valid quote character according to spec. diff --git a/gen/package.json b/gen/package.json index 1771040..7194289 100644 --- a/gen/package.json +++ b/gen/package.json @@ -1,14 +1,9 @@ { "private": true, - "scripts": { - "format": "prettier -w '*.{ts,json}'" - }, "dependencies": { "@types/node": "^14.0.5", "@wzlin/html-data": "^2021080714.0.0", - "prettier": "2.3.2", "ts-node": "^8.10.1", - "typescript": "^3.7.4", - "yaml": "^1.10.0" + "typescript": "^3.7.4" } } diff --git a/java/src/main/rust/lib.rs b/java/src/main/rust/lib.rs index 57c5cfc..85d19b0 100644 --- a/java/src/main/rust/lib.rs +++ b/java/src/main/rust/lib.rs @@ -1,23 +1,48 @@ -use minify_html::{minify as minify_html_native, Cfg}; +use jni::objects::{JClass, JObject, JString}; +use jni::sys::jstring; use jni::JNIEnv; -use jni::objects::{ JClass, JObject, JString}; -use jni::sys::{ jstring}; +use minify_html::{minify as minify_html_native, Cfg}; use std::str::from_utf8; -fn build_cfg( - env: &JNIEnv, - obj: &JObject, -) -> Cfg { +fn build_cfg(env: &JNIEnv, obj: &JObject) -> Cfg { Cfg { - ensure_spec_compliant_unquoted_attribute_values: env.get_field(*obj, "ensure_spec_compliant_unquoted_attribute_values", "Z").unwrap().z().unwrap(), - keep_closing_tags: env.get_field(*obj, "keep_closing_tags", "Z").unwrap().z().unwrap(), - keep_comments: env.get_field(*obj, "keep_comments", "Z").unwrap().z().unwrap(), - keep_html_and_head_opening_tags: env.get_field(*obj, "keep_html_and_head_opening_tags", "Z").unwrap().z().unwrap(), - keep_spaces_between_attributes: env.get_field(*obj, "keep_spaces_between_attributes", "Z").unwrap().z().unwrap(), + ensure_spec_compliant_unquoted_attribute_values: env + .get_field(*obj, "ensure_spec_compliant_unquoted_attribute_values", "Z") + .unwrap() + .z() + .unwrap(), + keep_closing_tags: env + .get_field(*obj, "keep_closing_tags", "Z") + .unwrap() + .z() + .unwrap(), + keep_comments: env + .get_field(*obj, "keep_comments", "Z") + .unwrap() + .z() + .unwrap(), + keep_html_and_head_opening_tags: env + .get_field(*obj, "keep_html_and_head_opening_tags", "Z") + .unwrap() + .z() + .unwrap(), + keep_spaces_between_attributes: env + .get_field(*obj, "keep_spaces_between_attributes", "Z") + .unwrap() + .z() + .unwrap(), minify_css: env.get_field(*obj, "minify_css", "Z").unwrap().z().unwrap(), minify_js: env.get_field(*obj, "minify_js", "Z").unwrap().z().unwrap(), - remove_bangs: env.get_field(*obj, "remove_bangs", "Z").unwrap().z().unwrap(), - remove_processing_instructions: env.get_field(*obj, "remove_processing_instructions", "Z").unwrap().z().unwrap(), + remove_bangs: env + .get_field(*obj, "remove_bangs", "Z") + .unwrap() + .z() + .unwrap(), + remove_processing_instructions: env + .get_field(*obj, "remove_processing_instructions", "Z") + .unwrap() + .z() + .unwrap(), } } @@ -27,8 +52,7 @@ pub extern "system" fn Java_in_wilsonl_minifyhtml_MinifyHtml_minify( _class: JClass, input: JString, cfg: JObject, -) - -> jstring { +) -> jstring { let source: String = env.get_string(input).unwrap().into(); let code = source.into_bytes(); diff --git a/rust/main/src/lib.rs b/rust/main/src/lib.rs index 548dae3..8519145 100644 --- a/rust/main/src/lib.rs +++ b/rust/main/src/lib.rs @@ -1,9 +1,9 @@ pub use crate::cfg::Cfg; +use crate::common::spec::tag::ns::Namespace; +use crate::common::spec::tag::EMPTY_SLICE; use crate::minify::content::minify_content; use crate::parse::content::parse_content; use crate::parse::Code; -use crate::common::spec::tag::ns::Namespace; -use crate::common::spec::tag::EMPTY_SLICE; mod ast; mod cfg; diff --git a/rust/main/src/minify/attr.rs b/rust/main/src/minify/attr.rs index 74d6095..63871fb 100644 --- a/rust/main/src/minify/attr.rs +++ b/rust/main/src/minify/attr.rs @@ -6,14 +6,14 @@ use { crate::minify::css::MINIFY_CSS_TRANSFORM_OPTIONS, crate::minify::esbuild::minify_using_esbuild, }; -use crate::entity::encode::encode_entities; -use crate::Cfg; use crate::common::gen::attrs::ATTRS; use crate::common::gen::codepoints::DIGIT; use crate::common::pattern::Replacer; use crate::common::spec::script::JAVASCRIPT_MIME_TYPES; use crate::common::spec::tag::ns::Namespace; use crate::common::whitespace::{collapse_whitespace, left_trim, right_trim}; +use crate::entity::encode::encode_entities; +use crate::Cfg; fn build_double_quoted_replacer() -> Replacer { let mut patterns = Vec::>::new(); diff --git a/rust/main/src/minify/content.rs b/rust/main/src/minify/content.rs index de72fd3..bfa772e 100644 --- a/rust/main/src/minify/content.rs +++ b/rust/main/src/minify/content.rs @@ -3,6 +3,12 @@ use lazy_static::lazy_static; use crate::ast::{NodeData, ScriptOrStyleLang}; use crate::cfg::Cfg; +use crate::common::gen::codepoints::TAG_NAME_CHAR; +use crate::common::pattern::Replacer; +use crate::common::spec::tag::whitespace::{ + get_whitespace_minification_for_tag, WhitespaceMinification, +}; +use crate::common::whitespace::{collapse_whitespace, is_all_whitespace, left_trim, right_trim}; use crate::entity::encode::encode_entities; use crate::minify::bang::minify_bang; use crate::minify::comment::minify_comment; @@ -10,14 +16,6 @@ use crate::minify::css::minify_css; use crate::minify::element::minify_element; use crate::minify::instruction::minify_instruction; use crate::minify::js::minify_js; -use crate::common::gen::codepoints::TAG_NAME_CHAR; -use crate::common::pattern::Replacer; -use crate::common::spec::tag::whitespace::{ - get_whitespace_minification_for_tag, WhitespaceMinification, -}; -use crate::common::whitespace::{ - collapse_whitespace, is_all_whitespace, left_trim, right_trim, -}; fn build_chevron_replacer() -> Replacer { let mut patterns = Vec::>::new(); diff --git a/rust/main/src/minify/element.rs b/rust/main/src/minify/element.rs index f283ea5..6c7086b 100644 --- a/rust/main/src/minify/element.rs +++ b/rust/main/src/minify/element.rs @@ -2,10 +2,10 @@ use std::collections::HashMap; use crate::ast::{ElementClosingTag, NodeData}; use crate::cfg::Cfg; -use crate::minify::attr::{minify_attr, AttrMinified}; -use crate::minify::content::minify_content; use crate::common::spec::tag::ns::Namespace; use crate::common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node}; +use crate::minify::attr::{minify_attr, AttrMinified}; +use crate::minify::content::minify_content; #[derive(Copy, Clone, Eq, PartialEq)] enum LastAttr { diff --git a/rust/main/src/parse/content.rs b/rust/main/src/parse/content.rs index f454f20..1764bb0 100644 --- a/rust/main/src/parse/content.rs +++ b/rust/main/src/parse/content.rs @@ -3,6 +3,10 @@ use lazy_static::lazy_static; use memchr::memrchr; use crate::ast::NodeData; +use crate::common::gen::codepoints::TAG_NAME_CHAR; +use crate::common::spec::tag::ns::Namespace; +use crate::common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node}; +use crate::common::spec::tag::void::VOID_TAGS; use crate::entity::decode::decode_entities; use crate::parse::bang::parse_bang; use crate::parse::comment::parse_comment; @@ -10,10 +14,6 @@ use crate::parse::content::ContentType::*; use crate::parse::element::{parse_element, parse_tag, peek_tag_name}; use crate::parse::instruction::parse_instruction; use crate::parse::Code; -use crate::common::gen::codepoints::TAG_NAME_CHAR; -use crate::common::spec::tag::ns::Namespace; -use crate::common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node}; -use crate::common::spec::tag::void::VOID_TAGS; #[derive(Copy, Clone, Eq, PartialEq)] enum ContentType { diff --git a/rust/main/src/parse/element.rs b/rust/main/src/parse/element.rs index a418c0c..ebf51ca 100644 --- a/rust/main/src/parse/element.rs +++ b/rust/main/src/parse/element.rs @@ -1,13 +1,6 @@ use std::collections::HashMap; use crate::ast::{ElementClosingTag, NodeData, ScriptOrStyleLang}; -use crate::entity::decode::decode_entities; -use crate::parse::content::{parse_content, ParsedContent}; -use crate::parse::script::parse_script_content; -use crate::parse::style::parse_style_content; -use crate::parse::textarea::parse_textarea_content; -use crate::parse::title::parse_title_content; -use crate::parse::Code; use crate::common::gen::codepoints::{ ATTR_QUOTE, DOUBLE_QUOTE, NOT_UNQUOTED_ATTR_VAL_CHAR, SINGLE_QUOTE, TAG_NAME_CHAR, WHITESPACE, WHITESPACE_OR_SLASH, WHITESPACE_OR_SLASH_OR_EQUALS_OR_RIGHT_CHEVRON, @@ -15,6 +8,13 @@ use crate::common::gen::codepoints::{ use crate::common::spec::script::JAVASCRIPT_MIME_TYPES; use crate::common::spec::tag::ns::Namespace; use crate::common::spec::tag::void::VOID_TAGS; +use crate::entity::decode::decode_entities; +use crate::parse::content::{parse_content, ParsedContent}; +use crate::parse::script::parse_script_content; +use crate::parse::style::parse_style_content; +use crate::parse::textarea::parse_textarea_content; +use crate::parse::title::parse_title_content; +use crate::parse::Code; use std::fmt::{Debug, Formatter}; use std::str::from_utf8; diff --git a/rust/main/src/parse/tests/element.rs b/rust/main/src/parse/tests/element.rs index 9545e1b..9eb5142 100644 --- a/rust/main/src/parse/tests/element.rs +++ b/rust/main/src/parse/tests/element.rs @@ -1,10 +1,10 @@ use std::collections::HashMap; use crate::ast::{ElementClosingTag, NodeData}; -use crate::parse::element::{parse_element, parse_tag, ParsedTag}; -use crate::parse::Code; use crate::common::spec::tag::ns::Namespace; use crate::common::spec::tag::EMPTY_SLICE; +use crate::parse::element::{parse_element, parse_tag, ParsedTag}; +use crate::parse::Code; #[test] fn test_parse_tag() { diff --git a/rust/onepass/src/lib.rs b/rust/onepass/src/lib.rs index 395dfc2..5bdb70e 100644 --- a/rust/onepass/src/lib.rs +++ b/rust/onepass/src/lib.rs @@ -1,9 +1,9 @@ pub use crate::cfg::Cfg; +use crate::common::spec::tag::ns::Namespace; use crate::err::debug_repr; pub use crate::err::{Error, ErrorType, FriendlyError}; use crate::proc::Processor; use crate::unit::content::process_content; -use crate::common::spec::tag::ns::Namespace; mod cfg; mod common; diff --git a/rust/onepass/src/proc/entity.rs b/rust/onepass/src/proc/entity.rs index d43bcb8..8cf0930 100644 --- a/rust/onepass/src/proc/entity.rs +++ b/rust/onepass/src/proc/entity.rs @@ -15,12 +15,12 @@ use std::char::from_u32; -use crate::proc::Processor; use crate::common::gen::codepoints::{ Lookup, ALPHANUMERIC_OR_EQUALS, DIGIT, HEX_DIGIT, LOWER_HEX_ALPHA, UPPER_HEX_ALPHA, }; use crate::common::gen::entities::{EntityType, ENTITY}; use crate::common::pattern::TrieNodeMatch; +use crate::proc::Processor; enum Parsed { // This includes numeric entities that were invalid and decoded to 0xFFFD. diff --git a/rust/onepass/src/proc/mod.rs b/rust/onepass/src/proc/mod.rs index 6d1c69f..e18fe32 100644 --- a/rust/onepass/src/proc/mod.rs +++ b/rust/onepass/src/proc/mod.rs @@ -11,12 +11,12 @@ use { std::sync::{Arc, Mutex}, }; +use crate::common::gen::codepoints::Lookup; +use crate::common::spec::tag::EMPTY_SLICE; use crate::err::{debug_repr, Error, ErrorType, ProcessingResult}; use crate::proc::range::ProcessorRange; use crate::proc::MatchAction::*; use crate::proc::MatchMode::*; -use crate::common::gen::codepoints::Lookup; -use crate::common::spec::tag::EMPTY_SLICE; pub mod checkpoint; pub mod entity; diff --git a/rust/onepass/src/unit/attr/mod.rs b/rust/onepass/src/unit/attr/mod.rs index 7a3766c..ed4a3b1 100644 --- a/rust/onepass/src/unit/attr/mod.rs +++ b/rust/onepass/src/unit/attr/mod.rs @@ -1,3 +1,6 @@ +use crate::common::gen::attrs::ATTRS; +use crate::common::gen::codepoints::{WHATWG_ATTR_NAME_CHAR, WHITESPACE}; +use crate::common::spec::tag::ns::Namespace; use crate::err::ProcessingResult; use crate::proc::checkpoint::WriteCheckpoint; use crate::proc::range::ProcessorRange; @@ -7,9 +10,6 @@ use crate::proc::Processor; use crate::unit::attr::value::{ process_attr_value, skip_attr_value, DelimiterType, ProcessedAttrValue, }; -use crate::common::gen::attrs::ATTRS; -use crate::common::gen::codepoints::{WHATWG_ATTR_NAME_CHAR, WHITESPACE}; -use crate::common::spec::tag::ns::Namespace; mod value; diff --git a/rust/onepass/src/unit/attr/value.rs b/rust/onepass/src/unit/attr/value.rs index 9638c14..59dd269 100644 --- a/rust/onepass/src/unit/attr/value.rs +++ b/rust/onepass/src/unit/attr/value.rs @@ -2,6 +2,9 @@ use std::collections::HashMap; use lazy_static::lazy_static; +use crate::common::gen::codepoints::{ + ATTR_QUOTE, DIGIT, DOUBLE_QUOTE, NOT_UNQUOTED_ATTR_VAL_CHAR, SINGLE_QUOTE, WHITESPACE, +}; use crate::err::ProcessingResult; use crate::proc::checkpoint::WriteCheckpoint; use crate::proc::entity::maybe_normalise_entity; @@ -9,9 +12,6 @@ use crate::proc::range::ProcessorRange; use crate::proc::MatchAction::*; use crate::proc::MatchMode::*; use crate::proc::Processor; -use crate::common::gen::codepoints::{ - ATTR_QUOTE, DIGIT, DOUBLE_QUOTE, NOT_UNQUOTED_ATTR_VAL_CHAR, SINGLE_QUOTE, WHITESPACE, -}; // See comment in `process_attr_value` for full description of why these intentionally do not have semicolons. lazy_static! { diff --git a/rust/onepass/src/unit/content.rs b/rust/onepass/src/unit/content.rs index 98a85f4..4ce977d 100644 --- a/rust/onepass/src/unit/content.rs +++ b/rust/onepass/src/unit/content.rs @@ -1,4 +1,10 @@ use crate::cfg::Cfg; +use crate::common::gen::codepoints::{TAG_NAME_CHAR, WHITESPACE}; +use crate::common::spec::tag::ns::Namespace; +use crate::common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node}; +use crate::common::spec::tag::whitespace::{ + get_whitespace_minification_for_tag, WhitespaceMinification, +}; use crate::err::ProcessingResult; use crate::proc::checkpoint::ReadCheckpoint; use crate::proc::entity::maybe_normalise_entity; @@ -10,12 +16,6 @@ use crate::unit::bang::process_bang; use crate::unit::comment::process_comment; use crate::unit::instruction::process_instruction; use crate::unit::tag::{process_tag, MaybeClosingTag}; -use crate::common::gen::codepoints::{TAG_NAME_CHAR, WHITESPACE}; -use crate::common::spec::tag::ns::Namespace; -use crate::common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node}; -use crate::common::spec::tag::whitespace::{ - get_whitespace_minification_for_tag, WhitespaceMinification, -}; #[derive(Copy, Clone, PartialEq, Eq)] enum ContentType { diff --git a/rust/onepass/src/unit/tag.rs b/rust/onepass/src/unit/tag.rs index 70c274a..5a0982b 100644 --- a/rust/onepass/src/unit/tag.rs +++ b/rust/onepass/src/unit/tag.rs @@ -1,4 +1,9 @@ use crate::cfg::Cfg; +use crate::common::gen::attrs::{AttributeMinification, ATTRS}; +use crate::common::gen::codepoints::{TAG_NAME_CHAR, WHITESPACE}; +use crate::common::spec::tag::ns::Namespace; +use crate::common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node}; +use crate::common::spec::tag::void::VOID_TAGS; use crate::err::{ErrorType, ProcessingResult}; use crate::proc::checkpoint::{ReadCheckpoint, WriteCheckpoint}; use crate::proc::range::ProcessorRange; @@ -10,11 +15,6 @@ use crate::unit::content::process_content; use crate::unit::script::process_script; use crate::unit::style::process_style; use lazy_static::lazy_static; -use crate::common::gen::attrs::{AttributeMinification, ATTRS}; -use crate::common::gen::codepoints::{TAG_NAME_CHAR, WHITESPACE}; -use crate::common::spec::tag::ns::Namespace; -use crate::common::spec::tag::omission::{can_omit_as_before, can_omit_as_last_node}; -use crate::common::spec::tag::void::VOID_TAGS; use std::collections::HashSet; lazy_static! {