================================================================================
Simple pattern
================================================================================

(if_statement)

--------------------------------------------------------------------------------

(query
  (pattern
    pattern: (named_node
      (node_name))))

================================================================================
Nested pattern
================================================================================

(if_statement condition:(parenthesized_expression (identifier)))

--------------------------------------------------------------------------------

(query
  (pattern
    pattern: (named_node
      (node_name)
      (child
        (field_name)
        pattern: (named_node
          (node_name)
          (child
            pattern: (named_node
              (node_name))))))))

================================================================================
Mismatched open paren
================================================================================


(if_statement

--------------------------------------------------------------------------------

(query
  (pattern
    pattern: (named_node
      (node_name)
      (MISSING ")"))))

================================================================================
Mismatched close paren with comment
================================================================================


; comment 1
; comment 2
(if_statement))

--------------------------------------------------------------------------------

(query
  (comment)
  (comment)
  (pattern
    pattern: (named_node
      (node_name)))
  (ERROR))

================================================================================
Bare identifier missing colon
================================================================================

(if_statement identifier)

--------------------------------------------------------------------------------

(query
  (pattern
    pattern: (named_node
      (node_name)
      (ERROR
        (field_name)))))

================================================================================
Field name missing child pattern
================================================================================

(if_statement condition:)

--------------------------------------------------------------------------------

(query
  (pattern
    pattern: (named_node
      (node_name)
      (child
        (field_name)
        pattern: (wildcard_node
          (MISSING "_"))))))

================================================================================
Missing close paren
================================================================================

((identifier) ()

--------------------------------------------------------------------------------

(query
  (pattern
    pattern: (group
      (pattern
        pattern: (named_node
          (node_name)))
      (ERROR))))

================================================================================
Empty alternation
================================================================================

((identifier) [])

--------------------------------------------------------------------------------

(query
  (pattern
    pattern: (group
      (pattern
        pattern: (named_node
          (node_name)))
      (pattern
        pattern: (alternation
          (choice
            pattern: (wildcard_node
              (MISSING "_"))))))))

================================================================================
Unclosed paren after predicate
================================================================================

((identifier) (#a)

--------------------------------------------------------------------------------

(query
  (pattern
    pattern: (group
      (pattern
        pattern: (named_node
          (node_name)))
      (predicate
        (predicate_name))
      (MISSING ")"))))

================================================================================
Unclosed paren in predicate
================================================================================

((identifier) @x (#eq? @x a

--------------------------------------------------------------------------------

(ERROR
  (pattern
    pattern: (named_node
      (node_name))
    (capture))
  (predicate_name)
  (capture)
  (variable))

================================================================================
Unclosed anonymous leaf
================================================================================

(identifier "h

--------------------------------------------------------------------------------

(ERROR
  (node_name))

================================================================================
Need at least one child node for a child anchor
================================================================================

(statement_block .)

--------------------------------------------------------------------------------

(query
  (pattern
    pattern: (named_node
      (node_name)
      (ERROR
        (anchor)))))

================================================================================
Missing negated field name
================================================================================

(statement_block ! (if_statement))

--------------------------------------------------------------------------------

(query
  (pattern
    pattern: (named_node
      (node_name)
      (ERROR)
      (child
        pattern: (named_node
          (node_name))))))

================================================================================
tree-sitter#968
================================================================================

(parameter_list [ ")" @foo)

--------------------------------------------------------------------------------

(query
  (pattern
    pattern: (named_node
      (node_name)
      (child
        pattern: (alternation
          (choice
            pattern: (anonymous_leaf)
            (capture))
          (MISSING "]"))))))
