Skip to content

Error when using multiple query predicates #365

@ObserverOfTime

Description

@ObserverOfTime

Same issue as tree-sitter/java-tree-sitter#114

import tree_sitter as ts
import tree_sitter_go as tsgo

query = """
((comment)+ @injection.content
  .
  (import_declaration
    (import_spec path: (interpreted_string_literal) @_import_c))
  (#eq? @_import_c "\"C\"")
  (#match? @injection.content "^//"))
"""

code = b"""
// #include <stdio.h>
// #include <errno.h>
import "C"
"""

lang = ts.Language(tsgo.language())
parser = ts.Parser(lang)
tree = parser.parse(code)
query = ts.Query(lang, query)
cursor = ts.QueryCursor(query)
print(cursor.captures(tree.root_node))
    query = ts.Query(lang, query)
tree_sitter.QueryError: Invalid predicate in pattern at row 1: #eq? expects 2 arguments, got 4

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions