ra_ap_syntax 0.0.4

Comment and whitespace preserving parser for the Rust language
Documentation
SOURCE_FILE@0..49
  TYPE_ALIAS@0..12
    TYPE_KW@0..4 "type"
    WHITESPACE@4..5 " "
    NAME@5..6
      IDENT@5..6 "X"
    WHITESPACE@6..7 " "
    EQ@7..8 "="
    WHITESPACE@8..9 " "
    TUPLE_TYPE@9..11
      L_PAREN@9..10 "("
      R_PAREN@10..11 ")"
    SEMICOLON@11..12 ";"
  WHITESPACE@12..14 "\n\n"
  FN@14..48
    FN_KW@14..16 "fn"
    WHITESPACE@16..17 " "
    NAME@17..21
      IDENT@17..21 "main"
    PARAM_LIST@21..23
      L_PAREN@21..22 "("
      R_PAREN@22..23 ")"
    WHITESPACE@23..24 " "
    BLOCK_EXPR@24..48
      L_CURLY@24..25 "{"
      WHITESPACE@25..30 "\n    "
      LET_STMT@30..46
        LET_KW@30..33 "let"
        WHITESPACE@33..34 " "
        TUPLE_PAT@34..36
          L_PAREN@34..35 "("
          R_PAREN@35..36 ")"
        COLON@36..37 ":"
        PATH_TYPE@37..40
          PATH@37..40
            PATH_SEGMENT@37..40
              COLON2@37..39 "::"
              NAME_REF@39..40
                IDENT@39..40 "X"
        WHITESPACE@40..41 " "
        EQ@41..42 "="
        WHITESPACE@42..43 " "
        TUPLE_EXPR@43..45
          L_PAREN@43..44 "("
          R_PAREN@44..45 ")"
        SEMICOLON@45..46 ";"
      WHITESPACE@46..47 "\n"
      R_CURLY@47..48 "}"
  WHITESPACE@48..49 "\n"