Types
NixNodeKind = enum nixExpression, ## _expression nixApp, ## app nixAssert, ## assert nixAttrpath, ## attrpath nixAttrsInherited, ## attrs_inherited nixAttrsInheritedFrom, ## attrs_inherited_from nixAttrset, ## attrset nixBinary, ## binary nixBind, ## bind nixFormal, ## formal nixFormals, ## formals nixFunction, ## function nixIf, ## if nixIndentedString, ## indented_string nixInherit, ## inherit nixInheritFrom, ## inherit_from nixInterpolation, ## interpolation nixLet, ## let nixLetAttrset, ## let_attrset nixList, ## list nixParenthesized, ## parenthesized nixRecAttrset, ## rec_attrset nixSelect, ## select nixSourceExpression, ## source_expression nixString, ## string nixUnary, ## unary nixWith, ## with nixExclamationTok, ## ! nixExclamationEqualTok, ## != nixQuoteTok, ## " nixDollarLCurlyTok, ## ${ nixDoubleAmpersandTok, ## && nixDoubleApostropheTok, ## '' nixLParTok, ## ( nixRParTok, ## ) nixAsteriskTok, ## * nixPlusTok, ## + nixDoublePlusTok, ## ++ nixCommaTok, ## , nixMinusTok, ## - nixMinusGreaterThanTok, ## -> nixDotTok, ## . nixSlashTok, ## / nixDoubleSlashTok, ## // nixColonTok, ## : nixSemicolonTok, ## ; nixLessThanTok, ## < nixLessThanEqualTok, ## <= nixEqualTok, ## = nixDoubleEqualTok, ## == nixGreaterThanTok, ## > nixGreaterThanEqualTok, ## >= nixQuestionTok, ## ? nixAtTok, ## @ nixLBrackTok, ## [ nixRBrackTok, ## ] nixAssertTok, ## assert nixAttrIdentifier, ## attr_identifier nixComment, ## comment nixEllipses, ## ellipses nixElseTok, ## else nixEscapeSequence, ## escape_sequence nixFloat, ## float nixHpath, ## hpath nixIdentifier, ## identifier nixIfTok, ## if nixInTok, ## in nixInheritTok, ## inherit nixInteger, ## integer nixLetTok, ## let nixOrTok, ## or nixPath, ## path nixRecTok, ## rec nixSpath, ## spath nixThenTok, ## then nixUri, ## uri nixWithTok, ## with nixLCurlyTok, ## { nixDoublePipeTok, ## || nixRCurlyTok, ## } nixSyntaxError ## Tree-sitter parser syntax error
NixExternalTok = enum nixExtern_str_content, ## _str_content nixExtern_ind_str_content, ## _ind_str_content nixExternEscape_sequence, ## escape_sequence nixExternInd_escape_sequence ## ind_escape_sequence
TsNixNode = distinct TSNode
NixParser = distinct PtsParser
NixNode = HtsNode[TsNixNode, NixNodeKind]
Procs
proc kind(node: TsNixNode): NixNodeKind {...}{.noSideEffect, raises: [Exception], tags: [RootEffect].}
proc tsNodeType(node: TsNixNode): string {...}{.raises: [], tags: [].}
proc newTsNixParser(): NixParser {...}{.raises: [], tags: [].}
proc parseString(parser: NixParser; str: string): TsNixNode {...}{.raises: [], tags: [].}
proc parseTsNixString(str: string): TsNixNode {...}{.raises: [], tags: [].}
proc treeReprTsNix(str: string; unnamed: bool = false): string {...}{. raises: [ValueError, Exception, NilArgumentError], tags: [RootEffect].}
proc toHtsNode(node: TsNixNode; str: ptr string): HtsNode[TsNixNode, NixNodeKind] {...}{. raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc toHtsTree(node: TsNixNode; str: ptr string): NixNode {...}{. raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc parseNixString(str: ptr string; unnamed: bool = false): NixNode {...}{. raises: [NilArgumentError, Exception], tags: [RootEffect].}
proc parseNixString(str: string; unnamed: bool = false): NixNode {...}{. raises: [NilArgumentError, Exception], tags: [RootEffect].}
Funcs
func isNil(node: TsNixNode): bool {...}{.raises: [], tags: [].}
func len(node: TsNixNode; unnamed: bool = false): int {...}{.raises: [], tags: [].}
func has(node: TsNixNode; idx: int; unnamed: bool = false): bool {...}{.raises: [], tags: [].}
func `$`(node: TsNixNode): string {...}{.raises: [Exception], tags: [RootEffect].}
func `[]`(node: TsNixNode; idx: int; kind: NixNodeKind | set[NixNodeKind]): TsNixNode