rnix 0.10.2

A Nix parser written in Rust
Documentation
NODE_ROOT 0..288 {
  NODE_ATTR_SET 0..288 {
    TOKEN_CURLY_B_OPEN("{") 0..1
    TOKEN_WHITESPACE("\n  ") 1..4
    NODE_KEY_VALUE 4..12 {
      NODE_KEY 4..7 {
        NODE_IDENT 4..7 {
          TOKEN_IDENT("int") 4..7
        }
      }
      TOKEN_WHITESPACE(" ") 7..8
      TOKEN_ASSIGN("=") 8..9
      TOKEN_WHITESPACE(" ") 9..10
      NODE_LITERAL 10..11 {
        TOKEN_INTEGER("3") 10..11
      }
      TOKEN_SEMICOLON(";") 11..12
    }
    TOKEN_WHITESPACE("\n  ") 12..15
    NODE_KEY_VALUE 15..27 {
      NODE_KEY 15..20 {
        NODE_IDENT 15..20 {
          TOKEN_IDENT("float") 15..20
        }
      }
      TOKEN_WHITESPACE(" ") 20..21
      TOKEN_ASSIGN("=") 21..22
      TOKEN_WHITESPACE(" ") 22..23
      NODE_LITERAL 23..26 {
        TOKEN_FLOAT("2.1") 23..26
      }
      TOKEN_SEMICOLON(";") 26..27
    }
    TOKEN_WHITESPACE("\n  ") 27..30
    NODE_KEY_VALUE 30..53 {
      NODE_KEY 30..36 {
        NODE_IDENT 30..36 {
          TOKEN_IDENT("string") 30..36
        }
      }
      TOKEN_WHITESPACE(" ") 36..37
      TOKEN_ASSIGN("=") 37..38
      TOKEN_WHITESPACE(" ") 38..39
      NODE_STRING 39..52 {
        TOKEN_STRING_START("\"") 39..40
        TOKEN_STRING_CONTENT("Hello World") 40..51
        TOKEN_STRING_END("\"") 51..52
      }
      TOKEN_SEMICOLON(";") 52..53
    }
    TOKEN_WHITESPACE("\n  ") 53..56
    NODE_KEY_VALUE 56..286 {
      NODE_KEY 56..65 {
        NODE_IDENT 56..65 {
          TOKEN_IDENT("multiline") 56..65
        }
      }
      TOKEN_WHITESPACE(" ") 65..66
      TOKEN_ASSIGN("=") 66..67
      TOKEN_WHITESPACE(" ") 67..68
      NODE_STRING 68..285 {
        TOKEN_STRING_START("\'\'") 68..70
        TOKEN_STRING_CONTENT("\n    This is a multiline string :D\n    \\\'\\\'\\\'\\\'\\\n    multiline = \'\'\'\n      Two single quotes: \'\'\'\',\n      Interpolation: \'\'${test},\n      Escape interpolation: \'\'\'\'\'${test}\n    \'\'\';\n    special escape: $${test}\n  ") 70..283
        TOKEN_STRING_END("\'\'") 283..285
      }
      TOKEN_SEMICOLON(";") 285..286
    }
    TOKEN_WHITESPACE("\n") 286..287
    TOKEN_CURLY_B_CLOSE("}") 287..288
  }
}