8000 Split atoms out into a separate crate (#599) · servo/html5ever@0292f3f · GitHub
[go: up one dir, main page]

Skip to content

Commit 0292f3f

Browse files
authored
Split atoms out into a separate crate (#599)
Signed-off-by: Nico Burns <nico@nicoburns.com>
1 parent a02b136 commit 0292f3f

File tree

24 files changed

+291
-32
lines changed

24 files changed

+291
-32
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[workspace]
22
members = [
3+
"web_atoms",
34
"markup5ever",
45
"html5ever",
56
"rcdom",

html5ever/src/serialize/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
use log::warn;
1111
pub use markup5ever::serialize::{AttrRef, Serialize, Serializer, TraversalScope};
12-
use markup5ever::{local_name, namespace_url, ns};
12+
use markup5ever::{local_name, ns};
1313
use std::io::{self, Write};
1414

1515
use crate::{LocalName, QualName};

html5ever/src/tokenizer/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use crate::util::str::lower_ascii_letter;
2525

2626
use log::{debug, trace};
2727
use mac::format_if;
28-
use markup5ever::{namespace_url, ns, small_char_set, TokenizerResult};
28+
use markup5ever::{ns, small_char_set, TokenizerResult};
2929
use std::borrow::Cow::{self, Borrowed};
3030
use std::cell::{Cell, RefCell, RefMut};
3131
use std::collections::BTreeMap;

html5ever/src/tree_builder/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ use crate::tree_builder::tag_sets::*;
3333
use crate::util::str::to_escaped_string;
3434
use log::{debug, log_enabled, warn, Level};
3535
use mac::format_if;
36-
use markup5ever::{expanded_name, local_name, namespace_prefix, namespace_url, ns};
36+
use markup5ever::{expanded_name, local_name, namespace_prefix, ns};
3737

3838
#[macro_use]
3939
mod tag_sets;

html5ever/src/tree_builder/rules.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use crate::tree_builder::{
1919
TreeSink,
2020
};
2121
use crate::QualName;
22-
use markup5ever::{expanded_name, local_name, namespace_url, ns};
22+
use markup5ever::{expanded_name, local_name, ns};
2323
use std::borrow::Cow::Borrowed;
2424

2525
use crate::tendril::SliceExt;

html5ever/src/tree_builder/tag_sets.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
//! Various sets of HTML tag names, and macros for declaring them.
1111
1212
use crate::ExpandedName;
13-
use markup5ever::{expanded_name, local_name, namespace_url, ns};
13+
use markup5ever::{expanded_name, local_name, ns};
1414

1515
macro_rules! declare_tag_set_impl ( ($param:ident, $b:ident, $supr:ident, $($tag:tt)+) => (
1616
match $param {

markup5ever/Cargo.toml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ license = "MIT OR Apache-2.0"
66
repository = "https://github.com/servo/html5ever"
77
description = "Common code for xml5ever and html5ever"
88
documentation = "https://docs.rs/markup5ever"
9-
build = "build.rs"
109
categories = [ "parser-implementations", "web-programming" ]
1110
edition = "2021"
1211
rust-version.workspa 10000 ce = true
@@ -15,11 +14,6 @@ rust-version.workspace = true
1514
path = "lib.rs"
1615

1716
[dependencies]
18-
string_cache = "0.8"
19-
phf = "0.11"
17+
web_atoms = { version = "0.1", path = "../web_atoms" }
2018
tendril = "0.4"
21-
log = "0.4"
22-
23-
[build-dependencies]
24-
string_cache_codegen = "0.5.4"
25-
phf_codegen = "0.11"
19+
log = "0.4"

markup5ever/interface/mod.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@
1111
use std::cell::Ref;
1212
use std::fmt;
1313
use tendril::StrTendril;
14+
use web_atoms::{LocalName, Namespace, Prefix};
1415

1516
pub use self::tree_builder::{create_element, AppendNode, AppendText, ElementFlags, NodeOrText};
1617
pub use self::tree_builder::{ElemName, Tracer, TreeSink};
1718
pub use self::tree_builder::{LimitedQuirks, NoQuirks, Quirks, QuirksMode};
18-
use super::{LocalName, Namespace, Prefix};
1919

2020
/// An [expanded name], containing the tag and the namespace.
2121
///
@@ -165,8 +165,7 @@ pub mod tree_builder;
165165
/// prefix (when resolved gives namespace_url `https://furniture.rs`)
166166
/// ```
167167
///
168-
/// NOTE: `Prefix`, `LocalName` and `Prefix` are all derivative of
169-
/// `string_cache::atom::Atom` and `Atom` implements `Deref<str>`.
168+
/// NOTE: `Prefix`, `LocalName` and `Prefix` all implement `Deref<str>`.
170169
///
171170
#[derive(PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone)]
172171
#[cfg_attr(feature = "heap_size", derive(HeapSizeOf))]
@@ -401,7 +400,7 @@ pub struct Attribute {
401400

402401
#[cfg(test)]
403402
mod tests {
404-
use super::Namespace;
403+
use web_atoms::{ns, Namespace};
405404

406405
#[test]
407406
fn ns_macro() {

markup5ever/interface/tree_builder.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
//! It can be used by a parser to create the DOM graph structure in memory.
1313
1414
use crate::interface::{Attribute, ExpandedName, QualName};
15-
use crate::{LocalName, Namespace};
1615
use std::borrow::Cow;
1716
use std::fmt::Debug;
1817
use tendril::StrTendril;
18+
use web_atoms::{LocalName, Namespace};
1919

2020
pub use self::NodeOrText::{AppendNode, AppendText};
2121
pub use self::QuirksMode::{LimitedQuirks, NoQuirks, Quirks};

markup5ever/lib.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313

1414
pub use tendril;
1515

16+
#[macro_use]
17+
extern crate web_atoms;
18+
1619
/// Create a [`SmallCharSet`], with each space-separated number stored in the set.
1720
///
1821
/// # Examples
@@ -34,9 +37,15 @@ macro_rules! small_char_set ( ($($e:expr)+) => (
3437
}
3538
));
3639

37-
include!(concat!(env!("OUT_DIR"), "/generated.rs"));
40+
pub use web_atoms::{
41+
local_name, namespace_prefix, namespace_url, ns, LocalName, LocalNameStaticSet, Namespace,
42+
NamespaceStaticSet, Prefix, PrefixStaticSet,
43+
};
3844

39-
pub mod data;
45+
pub mod data {
46+
pub use web_atoms::C1_REPLACEMENTS;
47+
pub use web_atoms::NAMED_ENTITIES;
48+
}
4049
#[macro_use]
4150
pub mod interface;
4251
pub mod serialize;

0 commit comments

Comments
 (0)
0