pub(crate) use self::{dialogue_text_processor::*, no_markup_text_processor::*};
use crate::markup::MarkupAttributeMarker;
use crate::prelude::*;
use core::fmt::Debug;
mod dialogue_text_processor;
mod no_markup_text_processor;
pub(crate) trait AttributeMarkerProcessor: Debug + Send + Sync {
fn replacement_text_for_marker(&self, marker: &MarkupAttributeMarker) -> String;
fn set_language_code(&mut self, language_code: Option<Language>);
fn clone_box(&self) -> Box<dyn AttributeMarkerProcessor>;
}
impl Clone for Box<dyn AttributeMarkerProcessor> {
fn clone(&self) -> Self {
self.clone_box()
}
}