pub trait Content: Sized {
type Underlying: Clone + PartialEq;
// Required methods
fn parse_tree_sitter(
&self,
parser: &mut Parser,
tree: Option<&Tree>,
) -> Result<Option<Tree>, ParserError>;
fn get_range(&self, range: Range<usize>) -> &[Self::Underlying];
fn accept_edit(&mut self, edit: &Edit<Self>) -> InputEdit;
fn get_text<'a>(&'a self, node: &Node<'_>) -> Cow<'a, str>;
fn decode_str(src: &str) -> Cow<'_, [Self::Underlying]>;
fn encode_bytes(bytes: &[Self::Underlying]) -> Cow<'_, str>;
}
Required Associated Types§
type Underlying: Clone + PartialEq
Required Methods§
fn parse_tree_sitter( &self, parser: &mut Parser, tree: Option<&Tree>, ) -> Result<Option<Tree>, ParserError>
fn get_range(&self, range: Range<usize>) -> &[Self::Underlying]
fn accept_edit(&mut self, edit: &Edit<Self>) -> InputEdit
fn get_text<'a>(&'a self, node: &Node<'_>) -> Cow<'a, str>
Sourcefn decode_str(src: &str) -> Cow<'_, [Self::Underlying]>
fn decode_str(src: &str) -> Cow<'_, [Self::Underlying]>
Used for string replacement. We need this for indentation and deindentation.
Sourcefn encode_bytes(bytes: &[Self::Underlying]) -> Cow<'_, str>
fn encode_bytes(bytes: &[Self::Underlying]) -> Cow<'_, str>
Used for string replacement. We need this for transformation.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.