SyntaxKind

Enum SyntaxKind 

Source
#[repr(u16)]
pub enum SyntaxKind {
Show 128 variants ALL_KW = 0, AND_KW = 1, ANY_KW = 2, ASCII_KW = 3, AT_KW = 4, BASE64_KW = 5, BASE64WIDE_KW = 6, CONDITION_KW = 7, CONTAINS_KW = 8, DEFINED_KW = 9, ENDSWITH_KW = 10, ENTRYPOINT_KW = 11, FALSE_KW = 12, FILESIZE_KW = 13, FOR_KW = 14, FULLWORD_KW = 15, GLOBAL_KW = 16, ICONTAINS_KW = 17, IENDSWITH_KW = 18, IEQUALS_KW = 19, IMPORT_KW = 20, IN_KW = 21, INCLUDE_KW = 22, ISTARTSWITH_KW = 23, MATCHES_KW = 24, META_KW = 25, NOCASE_KW = 26, NONE_KW = 27, NOT_KW = 28, OF_KW = 29, OR_KW = 30, PRIVATE_KW = 31, RULE_KW = 32, STARTSWITH_KW = 33, STRINGS_KW = 34, THEM_KW = 35, TRUE_KW = 36, WIDE_KW = 37, XOR_KW = 38, WITH_KW = 39, ADD = 40, SUB = 41, MUL = 42, DIV = 43, MOD = 44, MINUS = 45, SHL = 46, SHR = 47, BITWISE_AND = 48, BITWISE_OR = 49, BITWISE_XOR = 50, BITWISE_NOT = 51, EQ = 52, NE = 53, LT = 54, LE = 55, GT = 56, GE = 57, AMPERSAND = 58, ASTERISK = 59, CARET = 60, COLON = 61, COMMA = 62, BACKSLASH = 63, DOT = 64, EQUAL = 65, HYPHEN = 66, PERCENT = 67, PIPE = 68, PLUS = 69, TILDE = 70, L_BRACE = 71, R_BRACE = 72, L_BRACKET = 73, R_BRACKET = 74, L_PAREN = 75, R_PAREN = 76, FLOAT_LIT = 77, STRING_LIT = 78, INTEGER_LIT = 79, COMMENT = 80, WHITESPACE = 81, NEWLINE = 82, IDENT = 83, PATTERN_IDENT = 84, PATTERN_LENGTH = 85, PATTERN_OFFSET = 86, PATTERN_COUNT = 87, IMPORT_STMT = 88, INCLUDE_STMT = 89, RULE_DECL = 90, RULE_MODS = 91, RULE_TAGS = 92, CONDITION_BLK = 93, PATTERN_DEF = 94, PATTERNS_BLK = 95, PATTERN_MODS = 96, PATTERN_MOD = 97, RANGE = 98, REGEXP = 99, TERM = 100, EXPR = 101, INDEXING_EXPR = 102, PRIMARY_EXPR = 103, FUNC_CALL = 104, META_DEF = 105, META_BLK = 106, SOURCE_FILE = 107, BOOLEAN_EXPR = 108, BOOLEAN_TERM = 109, FOR_EXPR = 110, OF_EXPR = 111, WITH_EXPR = 112, WITH_DECLS = 113, WITH_DECL = 114, ITERABLE = 115, QUANTIFIER = 116, EXPR_TUPLE = 117, BOOLEAN_EXPR_TUPLE = 118, PATTERN_IDENT_TUPLE = 119, HEX_ALTERNATIVE = 120, HEX_JUMP = 121, HEX_BYTE = 122, HEX_PATTERN = 123, HEX_SUB_PATTERN = 124, ERROR = 125, UNKNOWN = 126, INVALID_UTF8 = 127,
}
Expand description

Each of the node or token types in a CST.

Variants§

§

ALL_KW = 0

§

AND_KW = 1

§

ANY_KW = 2

§

ASCII_KW = 3

§

AT_KW = 4

§

BASE64_KW = 5

§

BASE64WIDE_KW = 6

§

CONDITION_KW = 7

§

CONTAINS_KW = 8

§

DEFINED_KW = 9

§

ENDSWITH_KW = 10

§

ENTRYPOINT_KW = 11

§

FALSE_KW = 12

§

FILESIZE_KW = 13

§

FOR_KW = 14

§

FULLWORD_KW = 15

§

GLOBAL_KW = 16

§

ICONTAINS_KW = 17

§

IENDSWITH_KW = 18

§

IEQUALS_KW = 19

§

IMPORT_KW = 20

§

IN_KW = 21

§

INCLUDE_KW = 22

§

ISTARTSWITH_KW = 23

§

MATCHES_KW = 24

§

META_KW = 25

§

NOCASE_KW = 26

§

NONE_KW = 27

§

NOT_KW = 28

§

OF_KW = 29

§

OR_KW = 30

§

PRIVATE_KW = 31

§

RULE_KW = 32

§

STARTSWITH_KW = 33

§

STRINGS_KW = 34

§

THEM_KW = 35

§

TRUE_KW = 36

§

WIDE_KW = 37

§

XOR_KW = 38

§

WITH_KW = 39

§

ADD = 40

§

SUB = 41

§

MUL = 42

§

DIV = 43

§

MOD = 44

§

MINUS = 45

§

SHL = 46

§

SHR = 47

§

BITWISE_AND = 48

§

BITWISE_OR = 49

§

BITWISE_XOR = 50

§

BITWISE_NOT = 51

§

EQ = 52

§

NE = 53

§

LT = 54

§

LE = 55

§

GT = 56

§

GE = 57

§

AMPERSAND = 58

§

ASTERISK = 59

§

CARET = 60

§

COLON = 61

§

COMMA = 62

§

BACKSLASH = 63

§

DOT = 64

§

EQUAL = 65

§

HYPHEN = 66

§

PERCENT = 67

§

PIPE = 68

§

PLUS = 69

§

TILDE = 70

§

L_BRACE = 71

§

R_BRACE = 72

§

L_BRACKET = 73

§

R_BRACKET = 74

§

L_PAREN = 75

§

R_PAREN = 76

§

FLOAT_LIT = 77

§

STRING_LIT = 78

§

INTEGER_LIT = 79

§

COMMENT = 80

§

WHITESPACE = 81

§

NEWLINE = 82

§

IDENT = 83

§

PATTERN_IDENT = 84

§

PATTERN_LENGTH = 85

§

PATTERN_OFFSET = 86

§

PATTERN_COUNT = 87

§

IMPORT_STMT = 88

§

INCLUDE_STMT = 89

§

RULE_DECL = 90

§

RULE_MODS = 91

§

RULE_TAGS = 92

§

CONDITION_BLK = 93

§

PATTERN_DEF = 94

§

PATTERNS_BLK = 95

§

PATTERN_MODS = 96

§

PATTERN_MOD = 97

§

RANGE = 98

§

REGEXP = 99

§

TERM = 100

§

EXPR = 101

§

INDEXING_EXPR = 102

§

PRIMARY_EXPR = 103

§

FUNC_CALL = 104

§

META_DEF = 105

§

META_BLK = 106

§

SOURCE_FILE = 107

§

BOOLEAN_EXPR = 108

§

BOOLEAN_TERM = 109

§

FOR_EXPR = 110

§

OF_EXPR = 111

§

WITH_EXPR = 112

§

WITH_DECLS = 113

§

WITH_DECL = 114

§

ITERABLE = 115

§

QUANTIFIER = 116

§

EXPR_TUPLE = 117

§

BOOLEAN_EXPR_TUPLE = 118

§

PATTERN_IDENT_TUPLE = 119

§

HEX_ALTERNATIVE = 120

§

HEX_JUMP = 121

§

HEX_BYTE = 122

§

HEX_PATTERN = 123

§

HEX_SUB_PATTERN = 124

§

ERROR = 125

§

UNKNOWN = 126

§

INVALID_UTF8 = 127

Trait Implementations§

Source§

impl Clone for SyntaxKind

Source§

fn clone(&self) -> SyntaxKind

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SyntaxKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<SyntaxKind> for SyntaxKind

Source§

fn from(value: SyntaxKind) -> Self

Converts to this type from the input type.
Source§

impl Hash for SyntaxKind

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for SyntaxKind

Source§

fn cmp(&self, other: &SyntaxKind) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for SyntaxKind

Source§

fn eq(&self, other: &SyntaxKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for SyntaxKind

Source§

fn partial_cmp(&self, other: &SyntaxKind) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Copy for SyntaxKind

Source§

impl Eq for SyntaxKind

Source§

impl StructuralPartialEq for SyntaxKind

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.