python_wrapper

Types

PythonNodeKind = enum
  pythonCompoundStatement,  ## _compound_statement
  pythonSimpleStatement,    ## _simple_statement
  pythonExpression,         ## expression
  pythonParameter,          ## parameter
  pythonPattern,            ## pattern
  pythonPrimaryExpression,  ## primary_expression
  pythonAliasedImport,      ## aliased_import
  pythonArgumentList,       ## argument_list
  pythonAssertStatement,    ## assert_statement
  pythonAssignment,         ## assignment
  pythonAttribute,          ## attribute
  pythonAugmentedAssignment, ## augmented_assignment
  pythonAwait,              ## await
  pythonBinaryOperator,     ## binary_operator
  pythonBlock,              ## block
  pythonBooleanOperator,    ## boolean_operator
  pythonBreakStatement,     ## break_statement
  pythonCall,               ## call
  pythonChevron,            ## chevron
  pythonClassDefinition,    ## class_definition
  pythonComparisonOperator, ## comparison_operator
  pythonConcatenatedString, ## concatenated_string
  pythonConditionalExpression, ## conditional_expression
  pythonContinueStatement,  ## continue_statement
  pythonDecoratedDefinition, ## decorated_definition
  pythonDecorator,          ## decorator
  pythonDefaultParameter,   ## default_parameter
  pythonDeleteStatement,    ## delete_statement
  pythonDictionary,         ## dictionary
  pythonDictionaryComprehension, ## dictionary_comprehension
  pythonDictionarySplat,    ## dictionary_splat
  pythonDictionarySplatPattern, ## dictionary_splat_pattern
  pythonDottedName,         ## dotted_name
  pythonElifClause,         ## elif_clause
  pythonElseClause,         ## else_clause
  pythonExceptClause,       ## except_clause
  pythonExecStatement,      ## exec_statement
  pythonExpressionList,     ## expression_list
  pythonExpressionStatement, ## expression_statement
  pythonFinallyClause,      ## finally_clause
  pythonForInClause,        ## for_in_clause
  pythonForStatement,       ## for_statement
  pythonFormatExpression,   ## format_expression
  pythonFormatSpecifier,    ## format_specifier
  pythonFunctionDefinition, ## function_definition
  pythonFutureImportStatement, ## future_import_statement
  pythonGeneratorExpression, ## generator_expression
  pythonGlobalStatement,    ## global_statement
  pythonIfClause,           ## if_clause
  pythonIfStatement,        ## if_statement
  pythonImportFromStatement, ## import_from_statement
  pythonImportPrefix,       ## import_prefix
  pythonImportStatement,    ## import_statement
  pythonInterpolation,      ## interpolation
  pythonKeywordArgument,    ## keyword_argument
  pythonLambda,             ## lambda
  pythonLambdaParameters,   ## lambda_parameters
  pythonList,               ## list
  pythonListComprehension,  ## list_comprehension
  pythonListPattern,        ## list_pattern
  pythonListSplat,          ## list_splat
  pythonListSplatPattern,   ## list_splat_pattern
  pythonModule,             ## module
  pythonNamedExpression,    ## named_expression
  pythonNonlocalStatement,  ## nonlocal_statement
  pythonNotOperator,        ## not_operator
  pythonPair,               ## pair
  pythonParameters,         ## parameters
  pythonParenthesizedExpression, ## parenthesized_expression
  pythonParenthesizedListSplat, ## parenthesized_list_splat
  pythonPassStatement,      ## pass_statement
  pythonPatternList,        ## pattern_list
  pythonPrintStatement,     ## print_statement
  pythonRaiseStatement,     ## raise_statement
  pythonRelativeImport,     ## relative_import
  pythonReturnStatement,    ## return_statement
  pythonSet,                ## set
  pythonSetComprehension,   ## set_comprehension
  pythonSlice,              ## slice
  pythonString,             ## string
  pythonSubscript,          ## subscript
  pythonTryStatement,       ## try_statement
  pythonTuple,              ## tuple
  pythonTuplePattern,       ## tuple_pattern
  pythonType,               ## type
  pythonTypedDefaultParameter, ## typed_default_parameter
  pythonTypedParameter,     ## typed_parameter
  pythonUnaryOperator,      ## unary_operator
  pythonWhileStatement,     ## while_statement
  pythonWildcardImport,     ## wildcard_import
  pythonWithClause,         ## with_clause
  pythonWithItem,           ## with_item
  pythonWithStatement,      ## with_statement
  pythonYield,              ## yield
  pythonExclamationEqualTok, ## !=
  pythonQuoteTok,           ## "
  pythonPercentTok,         ## %
  pythonPercentEqualTok,    ## %=
  pythonAmpersandTok,       ## &
  pythonAmpersandEqualTok,  ## &=
  pythonLParTok,            ## (
  pythonRParTok,            ## )
  pythonAsteriskTok,        ## *
  pythonDoubleAsteriskTok,  ## **
  pythonDoubleAsteriskEqualTok, ## **=
  pythonAsteriskEqualTok,   ## *=
  pythonPlusTok,            ## +
  pythonPlusEqualTok,       ## +=
  pythonCommaTok,           ## ,
  pythonMinusTok,           ## -
  pythonMinusEqualTok,      ## -=
  pythonMinusGreaterThanTok, ## ->
  pythonDotTok,             ## .
  pythonSlashTok,           ## /
  pythonDoubleSlashTok,     ## //
  pythonDoubleSlashEqualTok, ## //=
  pythonSlashEqualTok,      ## /=
  pythonColonTok,           ## :
  pythonColonEqualTok,      ## :=
  pythonLessThanTok,        ## <
  pythonDoubleLessThanTok,  ## <<
  pythonDoubleLessThanEqualTok, ## <<=
  pythonLessThanEqualTok,   ## <=
  pythonLessThanGreaterThanTok, ## <>
  pythonEqualTok,           ## =
  pythonDoubleEqualTok,     ## ==
  pythonGreaterThanTok,     ## >
  pythonGreaterThanEqualTok, ## >=
  pythonDoubleGreaterThanTok, ## >>
  pythonDoubleGreaterThanEqualTok, ## >>=
  pythonAtTok,              ## @
  pythonAtEqualTok,         ## @=
  pythonLBrackTok,          ## [
  pythonRBrackTok,          ## ]
  pythonAccentTok,          ## ^
  pythonAccentEqualTok,     ## ^=
  pythonFutureTok,          ## __future__
  pythonAndTok,             ## and
  pythonAsTok,              ## as
  pythonAssertTok,          ## assert
  pythonAsyncTok,           ## async
  pythonAwaitTok,           ## await
  pythonBreakTok,           ## break
  pythonClassTok,           ## class
  pythonComment,            ## comment
  pythonContinueTok,        ## continue
  pythonDefTok,             ## def
  pythonDelTok,             ## del
  pythonElifTok,            ## elif
  pythonEllipsis,           ## ellipsis
  pythonElseTok,            ## else
  pythonEscapeSequence,     ## escape_sequence
  pythonExceptTok,          ## except
  pythonExecTok,            ## exec
  pythonFalse,              ## false
  pythonFinallyTok,         ## finally
  pythonFloat,              ## float
  pythonForTok,             ## for
  pythonFromTok,            ## from
  pythonGlobalTok,          ## global
  pythonIdentifier,         ## identifier
  pythonIfTok,              ## if
  pythonImportTok,          ## import
  pythonInTok,              ## in
  pythonInteger,            ## integer
  pythonIsTok,              ## is
  pythonLambdaTok,          ## lambda
  pythonNone,               ## none
  pythonNonlocalTok,        ## nonlocal
  pythonNotTok,             ## not
  pythonOrTok,              ## or
  pythonPassTok,            ## pass
  pythonPrintTok,           ## print
  pythonRaiseTok,           ## raise
  pythonReturnTok,          ## return
  pythonTrue,               ## true
  pythonTryTok,             ## try
  pythonTypeConversion,     ## type_conversion
  pythonWhileTok,           ## while
  pythonWithTok,            ## with
  pythonYieldTok,           ## yield
  pythonLCurlyTok,          ## {
  pythonPipeTok,            ## |
  pythonPipeEqualTok,       ## |=
  pythonRCurlyTok,          ## }
  pythonTildeTok,           ## ~
  pythonSyntaxError          ## Tree-sitter parser syntax error
PythonExternalTok = enum
  pythonExtern_newline,     ## _newline
  pythonExtern_indent,      ## _indent
  pythonExtern_dedent,      ## _dedent
  pythonExtern_string_start, ## _string_start
  pythonExtern_string_content, ## _string_content
  pythonExtern_string_end    ## _string_end
TsPythonNode = distinct TSNode
PythonParser = distinct PtsParser
PythonNode = HtsNode[TsPythonNode, PythonNodeKind]

Procs

proc kind(node: TsPythonNode): PythonNodeKind {...}{.noSideEffect,
    raises: [Exception], tags: [RootEffect].}
proc tsNodeType(node: TsPythonNode): string {...}{.raises: [], tags: [].}
proc newTsPythonParser(): PythonParser {...}{.raises: [], tags: [].}
proc parseString(parser: PythonParser; str: string): TsPythonNode {...}{.raises: [],
    tags: [].}
proc parseTsPythonString(str: string): TsPythonNode {...}{.raises: [], tags: [].}
proc treeReprTsPython(str: string; unnamed: bool = false): string {...}{.
    raises: [ValueError, Exception, NilArgumentError], tags: [RootEffect].}
proc toHtsNode(node: TsPythonNode; str: ptr string): HtsNode[TsPythonNode,
    PythonNodeKind] {...}{.raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc toHtsTree(node: TsPythonNode; str: ptr string): PythonNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc parsePythonString(str: ptr string; unnamed: bool = false): PythonNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc parsePythonString(str: string; unnamed: bool = false): PythonNode {...}{.
    raises: [NilArgumentError, Exception], tags: [RootEffect].}

Funcs

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