go_wrapper

Types

GoNodeKind = enum
  goExpression,             ## _expression
  goSimpleStatement,        ## _simple_statement
  goSimpleType,             ## _simple_type
  goStatement,              ## _statement
  goType,                   ## _type
  goArgumentList,           ## argument_list
  goArrayType,              ## array_type
  goAssignmentStatement,    ## assignment_statement
  goBinaryExpression,       ## binary_expression
  goBlock,                  ## block
  goBreakStatement,         ## break_statement
  goCallExpression,         ## call_expression
  goChannelType,            ## channel_type
  goCommunicationCase,      ## communication_case
  goCompositeLiteral,       ## composite_literal
  goConstDeclaration,       ## const_declaration
  goConstSpec,              ## const_spec
  goContinueStatement,      ## continue_statement
  goDecStatement,           ## dec_statement
  goDefaultCase,            ## default_case
  goDeferStatement,         ## defer_statement
  goDot,                    ## dot
  goElement,                ## element
  goEmptyStatement,         ## empty_statement
  goExpressionCase,         ## expression_case
  goExpressionList,         ## expression_list
  goExpressionSwitchStatement, ## expression_switch_statement
  goFallthroughStatement,   ## fallthrough_statement
  goFieldDeclaration,       ## field_declaration
  goFieldDeclarationList,   ## field_declaration_list
  goForClause,              ## for_clause
  goForStatement,           ## for_statement
  goFuncLiteral,            ## func_literal
  goFunctionDeclaration,    ## function_declaration
  goFunctionType,           ## function_type
  goGoStatement,            ## go_statement
  goGotoStatement,          ## goto_statement
  goIfStatement,            ## if_statement
  goImplicitLengthArrayType, ## implicit_length_array_type
  goImportDeclaration,      ## import_declaration
  goImportSpec,             ## import_spec
  goImportSpecList,         ## import_spec_list
  goIncStatement,           ## inc_statement
  goIndexExpression,        ## index_expression
  goInterfaceType,          ## interface_type
  goInterpretedStringLiteral, ## interpreted_string_literal
  goKeyedElement,           ## keyed_element
  goLabeledStatement,       ## labeled_statement
  goLiteralValue,           ## literal_value
  goMapType,                ## map_type
  goMethodDeclaration,      ## method_declaration
  goMethodSpec,             ## method_spec
  goMethodSpecList,         ## method_spec_list
  goPackageClause,          ## package_clause
  goParameterDeclaration,   ## parameter_declaration
  goParameterList,          ## parameter_list
  goParenthesizedExpression, ## parenthesized_expression
  goParenthesizedType,      ## parenthesized_type
  goPointerType,            ## pointer_type
  goQualifiedType,          ## qualified_type
  goRangeClause,            ## range_clause
  goReceiveStatement,       ## receive_statement
  goReturnStatement,        ## return_statement
  goSelectStatement,        ## select_statement
  goSelectorExpression,     ## selector_expression
  goSendStatement,          ## send_statement
  goShortVarDeclaration,    ## short_var_declaration
  goSliceExpression,        ## slice_expression
  goSliceType,              ## slice_type
  goSourceFile,             ## source_file
  goStructType,             ## struct_type
  goTypeAlias,              ## type_alias
  goTypeAssertionExpression, ## type_assertion_expression
  goTypeCase,               ## type_case
  goTypeConversionExpression, ## type_conversion_expression
  goTypeDeclaration,        ## type_declaration
  goTypeSpec,               ## type_spec
  goTypeSwitchStatement,    ## type_switch_statement
  goUnaryExpression,        ## unary_expression
  goVarDeclaration,         ## var_declaration
  goVarSpec,                ## var_spec
  goVariadicArgument,       ## variadic_argument
  goVariadicParameterDeclaration, ## variadic_parameter_declaration
  goNewlineTok,             ## 
                             ## 
  goExclamationTok,         ## !
  goExclamationEqualTok,    ## !=
  goQuoteTok,               ## "
  goPercentTok,             ## %
  goPercentEqualTok,        ## %=
  goAmpersandTok,           ## &
  goDoubleAmpersandTok,     ## &&
  goAmpersandEqualTok,      ## &=
  goAmpersandAccentTok,     ## &^
  goAmpersandAccentEqualTok, ## &^=
  goLParTok,                ## (
  goRParTok,                ## )
  goAsteriskTok,            ## *
  goAsteriskEqualTok,       ## *=
  goPlusTok,                ## +
  goDoublePlusTok,          ## ++
  goPlusEqualTok,           ## +=
  goCommaTok,               ## ,
  goMinusTok,               ## -
  goDoubleMinusTok,         ## --
  goMinusEqualTok,          ## -=
  goDotTok,                 ## .
  goTripleDotTok,           ## ...
  goSlashTok,               ## /
  goSlashEqualTok,          ## /=
  goColonTok,               ## :
  goColonEqualTok,          ## :=
  goSemicolonTok,           ## ;
  goLessThanTok,            ## <
  goLessThanMinusTok,       ## <-
  goDoubleLessThanTok,      ## <<
  goDoubleLessThanEqualTok, ## <<=
  goLessThanEqualTok,       ## <=
  goEqualTok,               ## =
  goDoubleEqualTok,         ## ==
  goGreaterThanTok,         ## >
  goGreaterThanEqualTok,    ## >=
  goDoubleGreaterThanTok,   ## >>
  goDoubleGreaterThanEqualTok, ## >>=
  goLBrackTok,              ## [
  goRBrackTok,              ## ]
  goAccentTok,              ## ^
  goAccentEqualTok,         ## ^=
  goBlankIdentifier,        ## blank_identifier
  goBreakTok,               ## break
  goCaseTok,                ## case
  goChanTok,                ## chan
  goComment,                ## comment
  goConstTok,               ## const
  goContinueTok,            ## continue
  goDefaultTok,             ## default
  goDeferTok,               ## defer
  goElseTok,                ## else
  goEscapeSequence,         ## escape_sequence
  goFallthroughTok,         ## fallthrough
  goFalse,                  ## false
  goFieldIdentifier,        ## field_identifier
  goFloatLiteral,           ## float_literal
  goForTok,                 ## for
  goFuncTok,                ## func
  goGoTok,                  ## go
  goGotoTok,                ## goto
  goIdentifier,             ## identifier
  goIfTok,                  ## if
  goImaginaryLiteral,       ## imaginary_literal
  goImportTok,              ## import
  goIntLiteral,             ## int_literal
  goInterfaceTok,           ## interface
  goLabelName,              ## label_name
  goMapTok,                 ## map
  goNil,                    ## nil
  goPackageTok,             ## package
  goPackageIdentifier,      ## package_identifier
  goRangeTok,               ## range
  goRawStringLiteral,       ## raw_string_literal
  goReturnTok,              ## return
  goRuneLiteral,            ## rune_literal
  goSelectTok,              ## select
  goStructTok,              ## struct
  goSwitchTok,              ## switch
  goTrue,                   ## true
  goTypeTok,                ## type
  goTypeIdentifier,         ## type_identifier
  goVarTok,                 ## var
  goLCurlyTok,              ## {
  goPipeTok,                ## |
  goPipeEqualTok,           ## |=
  goDoublePipeTok,          ## ||
  goRCurlyTok,              ## }
  goSyntaxError              ## Tree-sitter parser syntax error
TsGoNode = distinct TSNode
GoParser = distinct PtsParser
GoNode = HtsNode[TsGoNode, GoNodeKind]

Procs

proc kind(node: TsGoNode): GoNodeKind {...}{.noSideEffect, raises: [Exception],
                                        tags: [RootEffect].}
proc tsNodeType(node: TsGoNode): string {...}{.raises: [], tags: [].}
proc newTsGoParser(): GoParser {...}{.raises: [], tags: [].}
proc parseString(parser: GoParser; str: string): TsGoNode {...}{.raises: [], tags: [].}
proc parseTsGoString(str: string): TsGoNode {...}{.raises: [], tags: [].}
proc treeReprTsGo(str: string; unnamed: bool = false): string {...}{.
    raises: [ValueError, Exception, NilArgumentError], tags: [RootEffect].}
proc toHtsNode(node: TsGoNode; str: ptr string): HtsNode[TsGoNode, GoNodeKind] {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc toHtsTree(node: TsGoNode; str: ptr string): GoNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc parseGoString(str: ptr string; unnamed: bool = false): GoNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc parseGoString(str: string; unnamed: bool = false): GoNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}

Funcs

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