fennel_wrapper

Types

FennelNodeKind = enum
  fennelAssignment,         ## assignment
  fennelAssignments,        ## assignments
  fennelBoolean,            ## boolean
  fennelDoStatement,        ## do_statement
  fennelEach,               ## each
  fennelEachClause,         ## each_clause
  fennelFieldExpression,    ## field_expression
  fennelFor,                ## for
  fennelForClause,          ## for_clause
  fennelFunctionCall,       ## function_call
  fennelFunctionDefinition, ## function_definition
  fennelGlobalDefinition,   ## global_definition
  fennelHashFunctionDefinition, ## hash_function_definition
  fennelIdentifier,         ## identifier
  fennelIfStatement,        ## if_statement
  fennelLambdaDefinition,   ## lambda_definition
  fennelLetDefinition,      ## let_definition
  fennelLocalDefinition,    ## local_definition
  fennelMatchStatement,     ## match_statement
  fennelMultiValueAssignment, ## multi_value_assignment
  fennelNil,                ## nil
  fennelParameters,         ## parameters
  fennelProgram,            ## program
  fennelQuotedValue,        ## quoted_value
  fennelRequire,            ## require
  fennelSequentialTable,    ## sequential_table
  fennelSet,                ## set
  fennelString,             ## string
  fennelTable,              ## table
  fennelTset,               ## tset
  fennelUnquotedValue,      ## unquoted_value
  fennelValueList,          ## value_list
  fennelVarDefinition,      ## var_definition
  fennelWhenStatement,      ## when_statement
  fennelWhile,              ## while
  fennelQuoteTok,           ## "
  fennelHashTok,            ## #
  fennelPercentTok,         ## %
  fennelApostropheTok,      ## '
  fennelLParTok,            ## (
  fennelRParTok,            ## )
  fennelAsteriskTok,        ## *
  fennelPlusTok,            ## +
  fennelCommaTok,           ## ,
  fennelMinusTok,           ## -
  fennelMinusGreaterThanTok, ## ->
  fennelMinusDoubleGreaterThanTok, ## ->>
  fennelMinusQuestionGreaterThanTok, ## -?>
  fennelMinusQuestionDoubleGreaterThanTok, ## -?>>
  fennelDotTok,             ## .
  fennelDoubleDotTok,       ## ..
  fennelTripleDotTok,       ## ...
  fennelSlashTok,           ## /
  fennelDoubleSlashTok,     ## //
  fennelLessThanTok,        ## <
  fennelLessThanEqualTok,   ## <=
  fennelEqualTok,           ## =
  fennelGreaterThanTok,     ## >
  fennelGreaterThanEqualTok, ## >=
  fennelLBrackTok,          ## [
  fennelRBrackTok,          ## ]
  fennelAccentTok,          ## ^
  fennelENVTok,             ## _ENV
  fennelGTok,               ## _G
  fennelVERSIONTok,         ## _VERSION
  fennelBacktickTok,        ## `
  fennelAndTok,             ## and
  fennelArgTok,             ## arg
  fennelAssertTok,          ## assert
  fennelCollectgarbageTok,  ## collectgarbage
  fennelComment,            ## comment
  fennelCoroutineTok,       ## coroutine
  fennelDebugTok,           ## debug
  fennelDoTok,              ## do
  fennelDofileTok,          ## dofile
  fennelDotoTok,            ## doto
  fennelEachTok,            ## each
  fennelErrorTok,           ## error
  fennelEvalMinuscompilerTok, ## eval-compiler
  fennelFalseTok,           ## false
  fennelField,              ## field
  fennelFnTok,              ## fn
  fennelForTok,             ## for
  fennelGensymTok,          ## gensym
  fennelGetmetatableTok,    ## getmetatable
  fennelGlobalTok,          ## global
  fennelHashfnTok,          ## hashfn
  fennelIfTok,              ## if
  fennelImportMinusmacrosTok, ## import-macros
  fennelInMinusscopeQuestionTok, ## in-scope?
  fennelIncludeTok,         ## include
  fennelIpairsTok,          ## ipairs
  fennelLambdaTok,          ## lambda
  fennelLetTok,             ## let
  fennelListTok,            ## list
  fennelListQuestionTok,    ## list?
  fennelLoadTok,            ## load
  fennelLoadfileTok,        ## loadfile
  fennelLoadstringTok,      ## loadstring
  fennelLocalTok,           ## local
  fennelMacroTok,           ## macro
  fennelMacrodebugTok,      ## macrodebug
  fennelMacroexpandTok,     ## macroexpand
  fennelMacrosTok,          ## macros
  fennelMatchTok,           ## match
  fennelMultiMinussymQuestionTok, ## multi-sym?
  fennelNextTok,            ## next
  fennelNilTok,             ## nil
  fennelNotTok,             ## not
  fennelNotEqualTok,        ## not=
  fennelNumber,             ## number
  fennelOrTok,              ## or
  fennelPackageTok,         ## package
  fennelPairsTok,           ## pairs
  fennelPcallTok,           ## pcall
  fennelPrintTok,           ## print
  fennelRawequalTok,        ## rawequal
  fennelRawgetTok,          ## rawget
  fennelRawlenTok,          ## rawlen
  fennelRawsetTok,          ## rawset
  fennelRequireTok,         ## require
  fennelRequireMinusmacrosTok, ## require-macros
  fennelSelectTok,          ## select
  fennelSequenceQuestionTok, ## sequence?
  fennelSetTok,             ## set
  fennelSetmetatableTok,    ## setmetatable
  fennelStringTok,          ## string
  fennelSymTok,             ## sym
  fennelSymQuestionTok,     ## sym?
  fennelTableTok,           ## table
  fennelTableQuestionTok,   ## table?
  fennelTonumberTok,        ## tonumber
  fennelTostringTok,        ## tostring
  fennelTrueTok,            ## true
  fennelTsetTok,            ## tset
  fennelTypeTok,            ## type
  fennelUnpackTok,          ## unpack
  fennelVarTok,             ## var
  fennelVargQuestionTok,    ## varg?
  fennelWhenTok,            ## when
  fennelWhileTok,           ## while
  fennelXpcallTok,          ## xpcall
  fennelLCurlyTok,          ## {
  fennelRCurlyTok,          ## }
  fennelλTok,              ## λ
  fennelSyntaxError          ## Tree-sitter parser syntax error
FennelExternalTok = enum
  fennelExternField,        ## field
  fennelExternColon          ## colon
TsFennelNode = distinct TSNode
FennelParser = distinct PtsParser
FennelNode = HtsNode[TsFennelNode, FennelNodeKind]

Procs

proc kind(node: TsFennelNode): FennelNodeKind {...}{.noSideEffect,
    raises: [Exception], tags: [RootEffect].}
proc tsNodeType(node: TsFennelNode): string {...}{.raises: [], tags: [].}
proc newTsFennelParser(): FennelParser {...}{.raises: [], tags: [].}
proc parseString(parser: FennelParser; str: string): TsFennelNode {...}{.raises: [],
    tags: [].}
proc parseTsFennelString(str: string): TsFennelNode {...}{.raises: [], tags: [].}
proc treeReprTsFennel(str: string; unnamed: bool = false): string {...}{.
    raises: [ValueError, Exception, NilArgumentError], tags: [RootEffect].}
proc toHtsNode(node: TsFennelNode; str: ptr string): HtsNode[TsFennelNode,
    FennelNodeKind] {...}{.raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc toHtsTree(node: TsFennelNode; str: ptr string): FennelNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc parseFennelString(str: ptr string; unnamed: bool = false): FennelNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc parseFennelString(str: string; unnamed: bool = false): FennelNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}

Funcs

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