Struct ast_grep_config::SerializableRule
source · pub struct SerializableRule {
pub pattern: Maybe<PatternStyle>,
pub kind: Maybe<String>,
pub regex: Maybe<String>,
pub inside: Maybe<Box<Relation>>,
pub has: Maybe<Box<Relation>>,
pub precedes: Maybe<Box<Relation>>,
pub follows: Maybe<Box<Relation>>,
pub all: Maybe<Vec<SerializableRule>>,
pub any: Maybe<Vec<SerializableRule>>,
pub not: Maybe<Box<SerializableRule>>,
pub matches: Maybe<String>,
}Expand description
We have three kinds of rules in ast-grep.
- Atomic: the most basic rule to match AST. We have two variants: Pattern and Kind.
- Relational: filter matched target according to their position relative to other nodes.
- Composite: use logic operation all/any/not to compose the above rules to larger rules. Every rule has it’s unique name so we can combine several rules in one object.
Fields§
§pattern: Maybe<PatternStyle>§kind: Maybe<String>§regex: Maybe<String>§inside: Maybe<Box<Relation>>§has: Maybe<Box<Relation>>§precedes: Maybe<Box<Relation>>§follows: Maybe<Box<Relation>>§all: Maybe<Vec<SerializableRule>>§any: Maybe<Vec<SerializableRule>>§not: Maybe<Box<SerializableRule>>§matches: Maybe<String>Implementations§
source§impl SerializableRule
impl SerializableRule
pub fn categorized(self) -> Categorized
Trait Implementations§
source§impl Clone for SerializableRule
impl Clone for SerializableRule
source§fn clone(&self) -> SerializableRule
fn clone(&self) -> SerializableRule
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl Default for SerializableRule
impl Default for SerializableRule
source§fn default() -> SerializableRule
fn default() -> SerializableRule
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for SerializableRule
impl<'de> Deserialize<'de> for SerializableRule
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl RefUnwindSafe for SerializableRule
impl Send for SerializableRule
impl Sync for SerializableRule
impl Unpin for SerializableRule
impl UnwindSafe for SerializableRule
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more