aboutsummaryrefslogtreecommitdiffstats
path: root/src/content/string.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/content/string.rs')
-rw-r--r--src/content/string.rs76
1 files changed, 0 insertions, 76 deletions
diff --git a/src/content/string.rs b/src/content/string.rs
deleted file mode 100644
index ec4fce2..0000000
--- a/src/content/string.rs
+++ /dev/null
@@ -1,76 +0,0 @@
-//! The string content type.
-//!
-//! **String** is a limited [text][] like content type which only allows
-//! character escapes and character references.
-//! It exists in things such as identifiers (media references, definitions),
-//! titles, URLs, code (fenced) info and meta parts.
-//!
-//! The constructs found in string are:
-//!
-//! * [Character escape][crate::construct::character_escape]
-//! * [Character reference][crate::construct::character_reference]
-//!
-//! [text]: crate::content::text
-
-use crate::construct::partial_whitespace::resolve_whitespace;
-use crate::resolve::Name as ResolveName;
-use crate::state::{Name as StateName, State};
-use crate::tokenizer::Tokenizer;
-
-/// Characters that can start something in string.
-const MARKERS: [u8; 2] = [b'&', b'\\'];
-
-/// Start of string.
-///
-/// ````markdown
-/// > | ```js
-/// ^
-/// ````
-pub fn start(tokenizer: &mut Tokenizer) -> State {
- tokenizer.register_resolver(ResolveName::String);
- tokenizer.tokenize_state.markers = &MARKERS;
- State::Retry(StateName::StringBefore)
-}
-
-/// Before string.
-///
-/// ````markdown
-/// > | ```js
-/// ^
-/// ````
-pub fn before(tokenizer: &mut Tokenizer) -> State {
- match tokenizer.current {
- None => State::Ok,
- Some(b'&') => {
- tokenizer.attempt(
- State::Next(StateName::StringBefore),
- State::Next(StateName::StringBeforeData),
- );
- State::Retry(StateName::CharacterReferenceStart)
- }
- Some(b'\\') => {
- tokenizer.attempt(
- State::Next(StateName::StringBefore),
- State::Next(StateName::StringBeforeData),
- );
- State::Retry(StateName::CharacterEscapeStart)
- }
- _ => State::Retry(StateName::StringBeforeData),
- }
-}
-
-/// At data.
-///
-/// ````markdown
-/// > | ```js
-/// ^
-/// ````
-pub fn before_data(tokenizer: &mut Tokenizer) -> State {
- tokenizer.attempt(State::Next(StateName::StringBefore), State::Nok);
- State::Retry(StateName::DataStart)
-}
-
-/// Resolve whitespace in string.
-pub fn resolve(tokenizer: &mut Tokenizer) {
- resolve_whitespace(tokenizer, false, false);
-}