squawk-syntax 2.66.0

Linter for Postgres migrations & SQL
Documentation
---
source: crates/squawk_syntax/src/test.rs
input_file: crates/squawk_parser/tests/data/plpgsql/err/block.sql
---
PLPGSQL@0..35
  WHITESPACE@0..1 "\n"
  PLPGSQL_BLOCK@1..34
    BEGIN_KW@1..6 "begin"
    WHITESPACE@6..9 "\n  "
    PLPGSQL_BODY@9..30
      PLPGSQL_BLOCK@9..30
        BEGIN_KW@9..14 "begin"
        WHITESPACE@14..19 "\n    "
        PLPGSQL_BODY@19..24
          PLPGSQL_NULL_STMT@19..24
            NULL_KW@19..23 "null"
            SEMICOLON@23..24 ";"
        WHITESPACE@24..27 "\n  "
        END_KW@27..30 "end"
    WHITESPACE@30..31 "\n"
    END_KW@31..34 "end"
  WHITESPACE@34..35 "\n"
---
PLPGSQL@0..53
  WHITESPACE@0..1 "\n"
  PLPGSQL_BLOCK@1..52
    BEGIN_KW@1..6 "begin"
    WHITESPACE@6..9 "\n  "
    PLPGSQL_BODY@9..48
      PLPGSQL_BLOCK@9..48
        PLPGSQL_LABEL@9..18
          LESS_LESS@9..11 "<<"
          PLPGSQL_LABEL_NAME@11..16
            INNER_KW@11..16 "inner"
          GREATER_GREATER@16..18 ">>"
        WHITESPACE@18..21 "\n  "
        BEGIN_KW@21..26 "begin"
        WHITESPACE@26..31 "\n    "
        PLPGSQL_BODY@31..36
          PLPGSQL_NULL_STMT@31..36
            NULL_KW@31..35 "null"
            SEMICOLON@35..36 ";"
        WHITESPACE@36..39 "\n  "
        END_KW@39..42 "end"
        WHITESPACE@42..43 " "
        PLPGSQL_LABEL_NAME_REF@43..48
          INNER_KW@43..48 "inner"
    WHITESPACE@48..49 "\n"
    END_KW@49..52 "end"
  WHITESPACE@52..53 "\n"

error[syntax-error]: Missing semicolon after block
  ╭▸ 
5 │   end
  ╰╴     ━
error[syntax-error]: Missing semicolon after block
   ╭▸ 
14 │   end inner
   ╰╴           ━