Trait ast_grep_core::source::Content
source · 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.
Object Safety§
This trait is not object safe.