rnix 0.14.0

A Nix parser written in Rust
Documentation
NODE_ROOT@0..402
  NODE_ATTR_SET@0..402
    TOKEN_L_BRACE@0..1 "{"
    TOKEN_WHITESPACE@1..4 "\n  "
    TOKEN_COMMENT@4..36 "# Various path types  ..."
    TOKEN_WHITESPACE@36..39 "\n  "
    NODE_ATTRPATH_VALUE@39..72
      NODE_ATTRPATH@39..42
        NODE_IDENT@39..42
          TOKEN_IDENT@39..42 "abs"
      TOKEN_WHITESPACE@42..43 " "
      TOKEN_ASSIGN@43..44 "="
      TOKEN_WHITESPACE@44..45 " "
      NODE_PATH_ABS@45..71
        TOKEN_PATH_ABS@45..71 "/nix/store/hash-name- ..."
      TOKEN_SEMICOLON@71..72 ";"
    TOKEN_WHITESPACE@72..75 "\n  "
    NODE_ATTRPATH_VALUE@75..98
      NODE_ATTRPATH@75..78
        NODE_IDENT@75..78
          TOKEN_IDENT@75..78 "rel"
      TOKEN_WHITESPACE@78..79 " "
      TOKEN_ASSIGN@79..80 "="
      TOKEN_WHITESPACE@80..81 " "
      NODE_PATH_REL@81..97
        TOKEN_PATH_REL@81..97 "./foo/bar/../baz"
      TOKEN_SEMICOLON@97..98 ";"
    TOKEN_WHITESPACE@98..101 "\n  "
    NODE_ATTRPATH_VALUE@101..135
      NODE_ATTRPATH@101..105
        NODE_IDENT@101..105
          TOKEN_IDENT@101..105 "home"
      TOKEN_WHITESPACE@105..106 " "
      TOKEN_ASSIGN@106..107 "="
      TOKEN_WHITESPACE@107..108 " "
      NODE_PATH_HOME@108..134
        TOKEN_PATH_HOME@108..134 "~/.config/nixpkgs/ove ..."
      TOKEN_SEMICOLON@134..135 ";"
    TOKEN_WHITESPACE@135..138 "\n  "
    NODE_ATTRPATH_VALUE@138..169
      NODE_ATTRPATH@138..144
        NODE_IDENT@138..144
          TOKEN_IDENT@138..144 "search"
      TOKEN_WHITESPACE@144..145 " "
      TOKEN_ASSIGN@145..146 "="
      TOKEN_WHITESPACE@146..147 " "
      NODE_PATH_SEARCH@147..168
        TOKEN_PATH_SEARCH@147..168 "<nixpkgs/lib/systems>"
      TOKEN_SEMICOLON@168..169 ";"
    TOKEN_WHITESPACE@169..175 "\n  \n  "
    TOKEN_COMMENT@175..206 "# Paths with special  ..."
    TOKEN_WHITESPACE@206..209 "\n  "
    NODE_ATTRPATH_VALUE@209..234
      NODE_ATTRPATH@209..220
        NODE_IDENT@209..220
          TOKEN_IDENT@209..220 "withNumbers"
      TOKEN_WHITESPACE@220..221 " "
      TOKEN_ASSIGN@221..222 "="
      TOKEN_WHITESPACE@222..223 " "
      NODE_PATH_ABS@223..233
        TOKEN_PATH_ABS@223..233 "/usr/lib64"
      TOKEN_SEMICOLON@233..234 ";"
    TOKEN_WHITESPACE@234..237 "\n  "
    NODE_ATTRPATH_VALUE@237..262
      NODE_ATTRPATH@237..245
        NODE_IDENT@237..245
          TOKEN_IDENT@237..245 "withDots"
      TOKEN_WHITESPACE@245..246 " "
      TOKEN_ASSIGN@246..247 "="
      TOKEN_WHITESPACE@247..248 " "
      NODE_PATH_REL@248..261
        TOKEN_PATH_REL@248..261 "./foo.bar.baz"
      TOKEN_SEMICOLON@261..262 ";"
    TOKEN_WHITESPACE@262..265 "\n  "
    NODE_ATTRPATH_VALUE@265..286
      NODE_ATTRPATH@265..273
        NODE_IDENT@265..273
          TOKEN_IDENT@265..273 "withPlus"
      TOKEN_WHITESPACE@273..274 " "
      TOKEN_ASSIGN@274..275 "="
      TOKEN_WHITESPACE@275..276 " "
      NODE_PATH_REL@276..285
        TOKEN_PATH_REL@276..285 "./foo+bar"
      TOKEN_SEMICOLON@285..286 ";"
    TOKEN_WHITESPACE@286..289 "\n  "
    NODE_ATTRPATH_VALUE@289..319
      NODE_ATTRPATH@289..297
        NODE_IDENT@289..297
          TOKEN_IDENT@289..297 "withDash"
      TOKEN_WHITESPACE@297..298 " "
      TOKEN_ASSIGN@298..299 "="
      TOKEN_WHITESPACE@299..300 " "
      NODE_PATH_ABS@300..318
        TOKEN_PATH_ABS@300..318 "/nix-store/package"
      TOKEN_SEMICOLON@318..319 ";"
    TOKEN_WHITESPACE@319..325 "\n  \n  "
    TOKEN_COMMENT@325..342 "# Path operations"
    TOKEN_WHITESPACE@342..345 "\n  "
    NODE_ATTRPATH_VALUE@345..369
      NODE_ATTRPATH@345..353
        NODE_IDENT@345..353
          TOKEN_IDENT@345..353 "combined"
      TOKEN_WHITESPACE@353..354 " "
      TOKEN_ASSIGN@354..355 "="
      TOKEN_WHITESPACE@355..356 " "
      NODE_BIN_OP@356..368
        NODE_PATH_ABS@356..360
          TOKEN_PATH_ABS@356..360 "/foo"
        TOKEN_WHITESPACE@360..361 " "
        TOKEN_ADD@361..362 "+"
        TOKEN_WHITESPACE@362..363 " "
        NODE_PATH_REL@363..368
          TOKEN_PATH_REL@363..368 "./bar"
      TOKEN_SEMICOLON@368..369 ";"
    TOKEN_WHITESPACE@369..372 "\n  "
    NODE_ATTRPATH_VALUE@372..400
      NODE_ATTRPATH@372..378
        NODE_IDENT@372..378
          TOKEN_IDENT@372..378 "inList"
      TOKEN_WHITESPACE@378..379 " "
      TOKEN_ASSIGN@379..380 "="
      TOKEN_WHITESPACE@380..381 " "
      NODE_LIST@381..399
        TOKEN_L_BRACK@381..382 "["
        TOKEN_WHITESPACE@382..383 " "
        NODE_PATH_ABS@383..385
          TOKEN_PATH_ABS@383..385 "/a"
        TOKEN_WHITESPACE@385..386 " "
        NODE_PATH_REL@386..389
          TOKEN_PATH_REL@386..389 "./b"
        TOKEN_WHITESPACE@389..390 " "
        NODE_PATH_HOME@390..393
          TOKEN_PATH_HOME@390..393 "~/c"
        TOKEN_WHITESPACE@393..394 " "
        NODE_PATH_SEARCH@394..397
          TOKEN_PATH_SEARCH@394..397 "<d>"
        TOKEN_WHITESPACE@397..398 " "
        TOKEN_R_BRACK@398..399 "]"
      TOKEN_SEMICOLON@399..400 ";"
    TOKEN_WHITESPACE@400..401 "\n"
    TOKEN_R_BRACE@401..402 "}"