rust_wrapper

Types

RustNodeKind = enum
  rustDeclarationStatement, ## _declaration_statement
  rustExpression,           ## _expression
  rustLiteral,              ## _literal
  rustLiteralPattern,       ## _literal_pattern
  rustPattern,              ## _pattern
  rustType,                 ## _type
  rustAbstractType,         ## abstract_type
  rustArguments,            ## arguments
  rustArrayExpression,      ## array_expression
  rustArrayType,            ## array_type
  rustAssignmentExpression, ## assignment_expression
  rustAssociatedType,       ## associated_type
  rustAsyncBlock,           ## async_block
  rustAttributeItem,        ## attribute_item
  rustAwaitExpression,      ## await_expression
  rustBaseFieldInitializer, ## base_field_initializer
  rustBinaryExpression,     ## binary_expression
  rustBlock,                ## block
  rustBooleanLiteral,       ## boolean_literal
  rustBoundedType,          ## bounded_type
  rustBracketedType,        ## bracketed_type
  rustBreakExpression,      ## break_expression
  rustCallExpression,       ## call_expression
  rustCapturedPattern,      ## captured_pattern
  rustClosureExpression,    ## closure_expression
  rustClosureParameters,    ## closure_parameters
  rustCompoundAssignmentExpr, ## compound_assignment_expr
  rustConstBlock,           ## const_block
  rustConstItem,            ## const_item
  rustConstParameter,       ## const_parameter
  rustConstrainedTypeParameter, ## constrained_type_parameter
  rustContinueExpression,   ## continue_expression
  rustDeclarationList,      ## declaration_list
  rustDynamicType,          ## dynamic_type
  rustElseClause,           ## else_clause
  rustEmptyStatement,       ## empty_statement
  rustEmptyType,            ## empty_type
  rustEnumItem,             ## enum_item
  rustEnumVariant,          ## enum_variant
  rustEnumVariantList,      ## enum_variant_list
  rustExternCrateDeclaration, ## extern_crate_declaration
  rustExternModifier,       ## extern_modifier
  rustFieldDeclaration,     ## field_declaration
  rustFieldDeclarationList, ## field_declaration_list
  rustFieldExpression,      ## field_expression
  rustFieldInitializer,     ## field_initializer
  rustFieldInitializerList, ## field_initializer_list
  rustFieldPattern,         ## field_pattern
  rustForExpression,        ## for_expression
  rustForLifetimes,         ## for_lifetimes
  rustForeignModItem,       ## foreign_mod_item
  rustFragmentSpecifier,    ## fragment_specifier
  rustFunctionItem,         ## function_item
  rustFunctionModifiers,    ## function_modifiers
  rustFunctionSignatureItem, ## function_signature_item
  rustFunctionType,         ## function_type
  rustGenericFunction,      ## generic_function
  rustGenericType,          ## generic_type
  rustGenericTypeWithTurbofish, ## generic_type_with_turbofish
  rustHigherRankedTraitBound, ## higher_ranked_trait_bound
  rustIfExpression,         ## if_expression
  rustIfLetExpression,      ## if_let_expression
  rustImplItem,             ## impl_item
  rustIndexExpression,      ## index_expression
  rustInnerAttributeItem,   ## inner_attribute_item
  rustLetDeclaration,       ## let_declaration
  rustLifetime,             ## lifetime
  rustLoopExpression,       ## loop_expression
  rustLoopLabel,            ## loop_label
  rustMacroDefinition,      ## macro_definition
  rustMacroInvocation,      ## macro_invocation
  rustMacroRule,            ## macro_rule
  rustMatchArm,             ## match_arm
  rustMatchBlock,           ## match_block
  rustMatchExpression,      ## match_expression
  rustMatchPattern,         ## match_pattern
  rustMetaArguments,        ## meta_arguments
  rustMetaItem,             ## meta_item
  rustModItem,              ## mod_item
  rustMutPattern,           ## mut_pattern
  rustNegativeLiteral,      ## negative_literal
  rustOptionalTypeParameter, ## optional_type_parameter
  rustOrPattern,            ## or_pattern
  rustOrderedFieldDeclarationList, ## ordered_field_declaration_list
  rustParameter,            ## parameter
  rustParameters,           ## parameters
  rustParenthesizedExpression, ## parenthesized_expression
  rustPointerType,          ## pointer_type
  rustQualifiedType,        ## qualified_type
  rustRangeExpression,      ## range_expression
  rustRangePattern,         ## range_pattern
  rustRefPattern,           ## ref_pattern
  rustReferenceExpression,  ## reference_expression
  rustReferencePattern,     ## reference_pattern
  rustReferenceType,        ## reference_type
  rustRemainingFieldPattern, ## remaining_field_pattern
  rustRemovedTraitBound,    ## removed_trait_bound
  rustReturnExpression,     ## return_expression
  rustScopedIdentifier,     ## scoped_identifier
  rustScopedTypeIdentifier, ## scoped_type_identifier
  rustScopedUseList,        ## scoped_use_list
  rustSelfParameter,        ## self_parameter
  rustShorthandFieldInitializer, ## shorthand_field_initializer
  rustSlicePattern,         ## slice_pattern
  rustSourceFile,           ## source_file
  rustStaticItem,           ## static_item
  rustStringLiteral,        ## string_literal
  rustStructExpression,     ## struct_expression
  rustStructItem,           ## struct_item
  rustStructPattern,        ## struct_pattern
  rustTokenBindingPattern,  ## token_binding_pattern
  rustTokenRepetition,      ## token_repetition
  rustTokenRepetitionPattern, ## token_repetition_pattern
  rustTokenTree,            ## token_tree
  rustTokenTreePattern,     ## token_tree_pattern
  rustTraitBounds,          ## trait_bounds
  rustTraitItem,            ## trait_item
  rustTryExpression,        ## try_expression
  rustTupleExpression,      ## tuple_expression
  rustTuplePattern,         ## tuple_pattern
  rustTupleStructPattern,   ## tuple_struct_pattern
  rustTupleType,            ## tuple_type
  rustTypeArguments,        ## type_arguments
  rustTypeBinding,          ## type_binding
  rustTypeCastExpression,   ## type_cast_expression
  rustTypeItem,             ## type_item
  rustTypeParameters,       ## type_parameters
  rustUnaryExpression,      ## unary_expression
  rustUnionItem,            ## union_item
  rustUnitExpression,       ## unit_expression
  rustUnitType,             ## unit_type
  rustUnsafeBlock,          ## unsafe_block
  rustUseAsClause,          ## use_as_clause
  rustUseDeclaration,       ## use_declaration
  rustUseList,              ## use_list
  rustUseWildcard,          ## use_wildcard
  rustVariadicParameter,    ## variadic_parameter
  rustVisibilityModifier,   ## visibility_modifier
  rustWhereClause,          ## where_clause
  rustWherePredicate,       ## where_predicate
  rustWhileExpression,      ## while_expression
  rustWhileLetExpression,   ## while_let_expression
  rustExclamationTok,       ## !
  rustExclamationEqualTok,  ## !=
  rustQuoteTok,             ## "
  rustHashTok,              ## #
  rustDollarTok,            ## $
  rustPercentTok,           ## %
  rustPercentEqualTok,      ## %=
  rustAmpersandTok,         ## &
  rustDoubleAmpersandTok,   ## &&
  rustAmpersandEqualTok,    ## &=
  rustApostropheTok,        ## '
  rustLParTok,              ## (
  rustRParTok,              ## )
  rustAsteriskTok,          ## *
  rustAsteriskEqualTok,     ## *=
  rustPlusTok,              ## +
  rustPlusEqualTok,         ## +=
  rustCommaTok,             ## ,
  rustMinusTok,             ## -
  rustMinusEqualTok,        ## -=
  rustMinusGreaterThanTok,  ## ->
  rustDotTok,               ## .
  rustDoubleDotTok,         ## ..
  rustTripleDotTok,         ## ...
  rustDoubleDotEqualTok,    ## ..=
  rustSlashTok,             ## /
  rustSlashEqualTok,        ## /=
  rustColonTok,             ## :
  rustDoubleColonTok,       ## ::
  rustSemicolonTok,         ## ;
  rustLessThanTok,          ## <
  rustDoubleLessThanTok,    ## <<
  rustDoubleLessThanEqualTok, ## <<=
  rustLessThanEqualTok,     ## <=
  rustEqualTok,             ## =
  rustDoubleEqualTok,       ## ==
  rustEqualGreaterThanTok,  ## =>
  rustGreaterThanTok,       ## >
  rustGreaterThanEqualTok,  ## >=
  rustDoubleGreaterThanTok, ## >>
  rustDoubleGreaterThanEqualTok, ## >>=
  rustQuestionTok,          ## ?
  rustAtTok,                ## @
  rustLBrackTok,            ## [
  rustRBrackTok,            ## ]
  rustAccentTok,            ## ^
  rustAccentEqualTok,       ## ^=
  rustUnderscoreTok,        ## _
  rustAsTok,                ## as
  rustAsyncTok,             ## async
  rustAwaitTok,             ## await
  rustBlockTok,             ## block
  rustBlockComment,         ## block_comment
  rustBreakTok,             ## break
  rustCharLiteral,          ## char_literal
  rustConstTok,             ## const
  rustContinueTok,          ## continue
  rustCrate,                ## crate
  rustDefaultTok,           ## default
  rustDynTok,               ## dyn
  rustElseTok,              ## else
  rustEnumTok,              ## enum
  rustEscapeSequence,       ## escape_sequence
  rustExprTok,              ## expr
  rustExternTok,            ## extern
  rustFalseTok,             ## false
  rustFieldIdentifier,      ## field_identifier
  rustFloatLiteral,         ## float_literal
  rustFnTok,                ## fn
  rustForTok,               ## for
  rustIdentTok,             ## ident
  rustIdentifier,           ## identifier
  rustIfTok,                ## if
  rustImplTok,              ## impl
  rustInTok,                ## in
  rustIntegerLiteral,       ## integer_literal
  rustItemTok,              ## item
  rustLetTok,               ## let
  rustLifetimeTok,          ## lifetime
  rustLineComment,          ## line_comment
  rustLiteralTok,           ## literal
  rustLoopTok,              ## loop
  rustMacroUnderscorerulesExclamationTok, ## macro_rules!
  rustMatchTok,             ## match
  rustMetaTok,              ## meta
  rustMetavariable,         ## metavariable
  rustModTok,               ## mod
  rustMoveTok,              ## move
  rustMutableSpecifier,     ## mutable_specifier
  rustPatTok,               ## pat
  rustPathTok,              ## path
  rustPrimitiveType,        ## primitive_type
  rustPubTok,               ## pub
  rustRawStringLiteral,     ## raw_string_literal
  rustRefTok,               ## ref
  rustReturnTok,            ## return
  rustSelf,                 ## self
  rustShorthandFieldIdentifier, ## shorthand_field_identifier
  rustStaticTok,            ## static
  rustStmtTok,              ## stmt
  rustStructTok,            ## struct
  rustSuper,                ## super
  rustTraitTok,             ## trait
  rustTrueTok,              ## true
  rustTtTok,                ## tt
  rustTyTok,                ## ty
  rustTypeTok,              ## type
  rustTypeIdentifier,       ## type_identifier
  rustUnionTok,             ## union
  rustUnsafeTok,            ## unsafe
  rustUseTok,               ## use
  rustVisTok,               ## vis
  rustWhereTok,             ## where
  rustWhileTok,             ## while
  rustLCurlyTok,            ## {
  rustPipeTok,              ## |
  rustPipeEqualTok,         ## |=
  rustDoublePipeTok,        ## ||
  rustRCurlyTok,            ## }
  rustSyntaxError            ## Tree-sitter parser syntax error
RustExternalTok = enum
  rustExtern_string_content, ## _string_content
  rustExternRaw_string_literal, ## raw_string_literal
  rustExternFloat_literal,  ## float_literal
  rustExternBlock_comment    ## block_comment
TsRustNode = distinct TSNode
RustParser = distinct PtsParser
RustNode = HtsNode[TsRustNode, RustNodeKind]

Procs

proc kind(node: TsRustNode): RustNodeKind {...}{.noSideEffect, raises: [Exception],
    tags: [RootEffect].}
proc tsNodeType(node: TsRustNode): string {...}{.raises: [], tags: [].}
proc newTsRustParser(): RustParser {...}{.raises: [], tags: [].}
proc parseString(parser: RustParser; str: string): TsRustNode {...}{.raises: [],
    tags: [].}
proc parseTsRustString(str: string): TsRustNode {...}{.raises: [], tags: [].}
proc treeReprTsRust(str: string; unnamed: bool = false): string {...}{.
    raises: [ValueError, Exception, NilArgumentError], tags: [RootEffect].}
proc toHtsNode(node: TsRustNode; str: ptr string): HtsNode[TsRustNode,
    RustNodeKind] {...}{.raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc toHtsTree(node: TsRustNode; str: ptr string): RustNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc parseRustString(str: ptr string; unnamed: bool = false): RustNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc parseRustString(str: string; unnamed: bool = false): RustNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}

Funcs

func isNil(node: TsRustNode): bool {...}{.raises: [], tags: [].}
func len(node: TsRustNode; unnamed: bool = false): int {...}{.raises: [], tags: [].}
func has(node: TsRustNode; idx: int; unnamed: bool = false): bool {...}{.raises: [],
    tags: [].}
func `$`(node: TsRustNode): string {...}{.raises: [Exception], tags: [RootEffect].}
func `[]`(node: TsRustNode; idx: int; kind: RustNodeKind | set[RustNodeKind]): TsRustNode