blob: 35e7a1c1c61f9ae06860fb18acf81eac64c7da70 [file] [log] [blame]
"""Normalize input string."""
import re
from .state_core import StateCore
# https://spec.commonmark.org/0.29/#line-ending
NEWLINES_RE = re.compile(r"\r\n?|\n")
NULL_RE = re.compile(r"\0")
def normalize(state: StateCore):
# Normalize newlines
string = NEWLINES_RE.sub("\n", state.src)
# Replace NULL characters
string = NULL_RE.sub("\uFFFD", string)
state.src = string