ruby_wrapper

Types

RubyNodeKind = enum
  rubyArg,                  ## _arg
  rubyLhs,                  ## _lhs
  rubyMethodName,           ## _method_name
  rubyPrimary,              ## _primary
  rubyStatement,            ## _statement
  rubyVariable,             ## _variable
  rubyAlias,                ## alias
  rubyArgumentList,         ## argument_list
  rubyArray,                ## array
  rubyAssignment,           ## assignment
  rubyBareString,           ## bare_string
  rubyBareSymbol,           ## bare_symbol
  rubyBegin,                ## begin
  rubyBeginBlock,           ## begin_block
  rubyBinary,               ## binary
  rubyBlock,                ## block
  rubyBlockArgument,        ## block_argument
  rubyBlockParameter,       ## block_parameter
  rubyBlockParameters,      ## block_parameters
  rubyBreak,                ## break
  rubyCall,                 ## call
  rubyCase,                 ## case
  rubyChainedString,        ## chained_string
  rubyClass,                ## class
  rubyConditional,          ## conditional
  rubyDelimitedSymbol,      ## delimited_symbol
  rubyDestructuredLeftAssignment, ## destructured_left_assignment
  rubyDestructuredParameter, ## destructured_parameter
  rubyDo,                   ## do
  rubyDoBlock,              ## do_block
  rubyElementReference,     ## element_reference
  rubyElse,                 ## else
  rubyElsif,                ## elsif
  rubyEmptyStatement,       ## empty_statement
  rubyEndBlock,             ## end_block
  rubyEnsure,               ## ensure
  rubyExceptionVariable,    ## exception_variable
  rubyExceptions,           ## exceptions
  rubyFor,                  ## for
  rubyHash,                 ## hash
  rubyHashSplatArgument,    ## hash_splat_argument
  rubyHashSplatParameter,   ## hash_splat_parameter
  rubyHeredocBody,          ## heredoc_body
  rubyIf,                   ## if
  rubyIfModifier,           ## if_modifier
  rubyIn,                   ## in
  rubyInterpolation,        ## interpolation
  rubyKeywordParameter,     ## keyword_parameter
  rubyLambda,               ## lambda
  rubyLambdaParameters,     ## lambda_parameters
  rubyLeftAssignmentList,   ## left_assignment_list
  rubyMethod,               ## method
  rubyMethodParameters,     ## method_parameters
  rubyModule,               ## module
  rubyNext,                 ## next
  rubyOperator,             ## operator
  rubyOperatorAssignment,   ## operator_assignment
  rubyOptionalParameter,    ## optional_parameter
  rubyPair,                 ## pair
  rubyParenthesizedStatements, ## parenthesized_statements
  rubyPattern,              ## pattern
  rubyProgram,              ## program
  rubyRange,                ## range
  rubyRational,             ## rational
  rubyRedo,                 ## redo
  rubyRegex,                ## regex
  rubyRescue,               ## rescue
  rubyRescueModifier,       ## rescue_modifier
  rubyRestAssignment,       ## rest_assignment
  rubyRetry,                ## retry
  rubyReturn,               ## return
  rubyRightAssignmentList,  ## right_assignment_list
  rubyScopeResolution,      ## scope_resolution
  rubySetter,               ## setter
  rubySingletonClass,       ## singleton_class
  rubySingletonMethod,      ## singleton_method
  rubySplatArgument,        ## splat_argument
  rubySplatParameter,       ## splat_parameter
  rubyString,               ## string
  rubyStringArray,          ## string_array
  rubySubshell,             ## subshell
  rubySuperclass,           ## superclass
  rubySymbolArray,          ## symbol_array
  rubyThen,                 ## then
  rubyUnary,                ## unary
  rubyUndef,                ## undef
  rubyUnless,               ## unless
  rubyUnlessModifier,       ## unless_modifier
  rubyUntil,                ## until
  rubyUntilModifier,        ## until_modifier
  rubyWhen,                 ## when
  rubyWhile,                ## while
  rubyWhileModifier,        ## while_modifier
  rubyYield,                ## yield
  rubyExclamationTok,       ## !
  rubyExclamationEqualTok,  ## !=
  rubyExclamationTildeTok,  ## !~
  rubyQuoteTok,             ## "
  rubyHashLCurlyTok,        ## #{
  rubyPercentTok,           ## %
  rubyPercentEqualTok,      ## %=
  rubyPercentiLParTok,      ## %i(
  rubyPercentwLParTok,      ## %w(
  rubyAmpersandTok,         ## &
  rubyDoubleAmpersandTok,   ## &&
  rubyDoubleAmpersandEqualTok, ## &&=
  rubyAmpersandDotTok,      ## &.
  rubyAmpersandEqualTok,    ## &=
  rubyLParTok,              ## (
  rubyRParTok,              ## )
  rubyAsteriskTok,          ## *
  rubyDoubleAsteriskTok,    ## **
  rubyDoubleAsteriskEqualTok, ## **=
  rubyAsteriskEqualTok,     ## *=
  rubyPlusTok,              ## +
  rubyPlusEqualTok,         ## +=
  rubyPlusAtTok,            ## +@
  rubyCommaTok,             ## ,
  rubyMinusTok,             ## -
  rubyMinusEqualTok,        ## -=
  rubyMinusGreaterThanTok,  ## ->
  rubyMinusAtTok,           ## -@
  rubyDotTok,               ## .
  rubyDoubleDotTok,         ## ..
  rubyTripleDotTok,         ## ...
  rubySlashTok,             ## /
  rubySlashEqualTok,        ## /=
  rubyColonTok,             ## :
  rubyColonQuoteTok,        ## :"
  rubyDoubleColonTok,       ## ::
  rubySemicolonTok,         ## ;
  rubyLessThanTok,          ## <
  rubyDoubleLessThanTok,    ## <<
  rubyDoubleLessThanEqualTok, ## <<=
  rubyLessThanEqualTok,     ## <=
  rubyLessThanEqualGreaterThanTok, ## <=>
  rubyEqualTok,             ## =
  rubyDoubleEqualTok,       ## ==
  rubyTripleEqualTok,       ## ===
  rubyEqualGreaterThanTok,  ## =>
  rubyEqualTildeTok,        ## =~
  rubyGreaterThanTok,       ## >
  rubyGreaterThanEqualTok,  ## >=
  rubyDoubleGreaterThanTok, ## >>
  rubyDoubleGreaterThanEqualTok, ## >>=
  rubyQuestionTok,          ## ?
  rubyBEGINTok,             ## BEGIN
  rubyENDTok,               ## END
  rubyLBrackTok,            ## [
  rubyLBrackRBrackTok,      ## []
  rubyLBrackRBrackEqualTok, ## []=
  rubyRBrackTok,            ## ]
  rubyAccentTok,            ## ^
  rubyAccentEqualTok,       ## ^=
  rubyBacktickTok,          ## `
  rubyAliasTok,             ## alias
  rubyAndTok,               ## and
  rubyBeginTok1,            ## begin
  rubyBreakTok,             ## break
  rubyCaseTok,              ## case
  rubyCharacter,            ## character
  rubyClassTok,             ## class
  rubyClassVariable,        ## class_variable
  rubyComment,              ## comment
  rubyComplex,              ## complex
  rubyConstant,             ## constant
  rubyDefTok,               ## def
  rubyDefinedQuestionTok,   ## defined?
  rubyDoTok,                ## do
  rubyElseTok,              ## else
  rubyElsifTok,             ## elsif
  rubyEndTok1,              ## end
  rubyEnsureTok,            ## ensure
  rubyEscapeSequence,       ## escape_sequence
  rubyFalse,                ## false
  rubyFloat,                ## float
  rubyForTok,               ## for
  rubyGlobalVariable,       ## global_variable
  rubyHashKeySymbol,        ## hash_key_symbol
  rubyHeredocBeginning,     ## heredoc_beginning
  rubyHeredocContent,       ## heredoc_content
  rubyHeredocEnd,           ## heredoc_end
  rubyIdentifier,           ## identifier
  rubyIfTok,                ## if
  rubyInTok,                ## in
  rubyInstanceVariable,     ## instance_variable
  rubyInteger,              ## integer
  rubyModuleTok,            ## module
  rubyNextTok,              ## next
  rubyNil,                  ## nil
  rubyNotTok,               ## not
  rubyOrTok,                ## or
  rubyRTok,                 ## r
  rubyRedoTok,              ## redo
  rubyRescueTok,            ## rescue
  rubyRetryTok,             ## retry
  rubyReturnTok,            ## return
  rubySelf,                 ## self
  rubySimpleSymbol,         ## simple_symbol
  rubyStringContent,        ## string_content
  rubySuper,                ## super
  rubyThenTok,              ## then
  rubyTrue,                 ## true
  rubyUndefTok,             ## undef
  rubyUninterpreted,        ## uninterpreted
  rubyUnlessTok,            ## unless
  rubyUntilTok,             ## until
  rubyWhenTok,              ## when
  rubyWhileTok,             ## while
  rubyYieldTok,             ## yield
  rubyLCurlyTok,            ## {
  rubyPipeTok,              ## |
  rubyPipeEqualTok,         ## |=
  rubyDoublePipeTok,        ## ||
  rubyDoublePipeEqualTok,   ## ||=
  rubyRCurlyTok,            ## }
  rubyTildeTok,             ## ~
  rubySyntaxError            ## Tree-sitter parser syntax error
RubyExternalTok = enum
  rubyExtern_line_break,    ## _line_break
  rubyExternSimple_symbol,  ## simple_symbol
  rubyExtern_string_start,  ## _string_start
  rubyExtern_symbol_start,  ## _symbol_start
  rubyExtern_subshell_start, ## _subshell_start
  rubyExtern_regex_start,   ## _regex_start
  rubyExtern_string_array_start, ## _string_array_start
  rubyExtern_symbol_array_start, ## _symbol_array_start
  rubyExtern_heredoc_body_start, ## _heredoc_body_start
  rubyExternString_content, ## string_content
  rubyExternHeredoc_content, ## heredoc_content
  rubyExtern_string_end,    ## _string_end
  rubyExternHeredoc_end,    ## heredoc_end
  rubyExternHeredoc_beginning, ## heredoc_beginning
  rubyExtern_block_ampersand, ## _block_ampersand
  rubyExtern_splat_star,    ## _splat_star
  rubyExtern_unary_minus,   ## _unary_minus
  rubyExtern_binary_minus,  ## _binary_minus
  rubyExtern_binary_star,   ## _binary_star
  rubyExtern_singleton_class_left_angle_left_langle, ## _singleton_class_left_angle_left_langle
  rubyExternHash_key_symbol, ## hash_key_symbol
  rubyExtern_hash_splat_star_star, ## _hash_splat_star_star
  rubyExtern_binary_star_star, ## _binary_star_star
  rubyExtern_element_reference_bracket ## _element_reference_bracket
TsRubyNode = distinct TSNode
RubyParser = distinct PtsParser
RubyNode = HtsNode[TsRubyNode, RubyNodeKind]

Procs

proc kind(node: TsRubyNode): RubyNodeKind {...}{.noSideEffect, raises: [Exception],
    tags: [RootEffect].}
proc tsNodeType(node: TsRubyNode): string {...}{.raises: [], tags: [].}
proc newTsRubyParser(): RubyParser {...}{.raises: [], tags: [].}
proc parseString(parser: RubyParser; str: string): TsRubyNode {...}{.raises: [],
    tags: [].}
proc parseTsRubyString(str: string): TsRubyNode {...}{.raises: [], tags: [].}
proc treeReprTsRuby(str: string; unnamed: bool = false): string {...}{.
    raises: [ValueError, Exception, NilArgumentError], tags: [RootEffect].}
proc toHtsNode(node: TsRubyNode; str: ptr string): HtsNode[TsRubyNode,
    RubyNodeKind] {...}{.raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc toHtsTree(node: TsRubyNode; str: ptr string): RubyNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc parseRubyString(str: ptr string; unnamed: bool = false): RubyNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc parseRubyString(str: string; unnamed: bool = false): RubyNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}

Funcs

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