{
  "_id": "6aabf0ad3d719c1f84070228",
  "Package": "bonsaisitter",
  "Type": "Package",
  "Title": "Bindings to the 'Tree-Sitter' Parsing Library",
  "Version": "0.1.2",
  "Date": "2026-09-08",
  "Authors@R": "c(\nperson(\"Troy\", \"Hernandez\", role = c(\"aut\", \"cre\"),\nemail = \"troy@cornball.ai\",\ncomment = c(ORCID = \"0009-0005-4248-604X\")),\nperson(\"cornball.ai\", role = \"cph\"),\nperson(\"Max\", \"Brunsfeld\", role = c(\"ctb\", \"cph\"),\ncomment = \"tree-sitter C library, bundled under src/tree-sitter\"),\nperson(\"International Business Machines Corporation\", role = \"cph\",\ncomment = \"ICU UTF-8 and UTF-16 headers, src/tree-sitter/lib/src/unicode\"),\nperson(\"Unicode, Inc.\", role = \"cph\",\ncomment = \"ICU license, src/tree-sitter/lib/src/unicode/LICENSE\"),\nperson(\"Mathias\", \"Panzenböck\", role = \"ctb\",\ncomment = \"src/tree-sitter/lib/src/portable/endian.h, public domain\"))",
  "Description": "A runtime for the 'Tree-sitter' parsing library\n<https://tree-sitter.github.io/tree-sitter/> that mirrors the\nAPI of the 'treesitter' package, so it can serve as a drop-in\nreplacement. Parses source code into concrete syntax trees and\nupdates them incrementally as the source changes. Grammars are\nsupplied by separate packages such as 'treesitter.r', so the\nruntime itself depends on nothing beyond base R.",
  "License": "MIT + file LICENSE",
  "Copyright": "cornball.ai, except the bundled tree-sitter sources under\nsrc/tree-sitter, whose holders are listed in inst/COPYRIGHTS.",
  "URL": "https://github.com/cornball-ai/bonsaisitter",
  "BugReports": "https://github.com/cornball-ai/bonsaisitter/issues",
  "Encoding": "UTF-8",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-09-17 13:45:15 UTC",
    "User": "root"
  },
  "Author": "Troy Hernandez [aut, cre] (ORCID:\n<https://orcid.org/0009-0005-4248-604X>), cornball.ai [cph],\nMax Brunsfeld [ctb, cph] (tree-sitter C library, bundled under\nsrc/tree-sitter), International Business Machines Corporation\n[cph] (ICU UTF-8 and UTF-16 headers,\nsrc/tree-sitter/lib/src/unicode), Unicode, Inc. [cph] (ICU\nlicense, src/tree-sitter/lib/src/unicode/LICENSE), Mathias\nPanzenböck [ctb] (src/tree-sitter/lib/src/portable/endian.h,\npublic domain)",
  "Maintainer": "Troy Hernandez <troy@cornball.ai>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-09-17 09:00:09 UTC",
  "RemoteUrl": "https://github.com/cran/bonsaisitter",
  "RemoteRef": "HEAD",
  "RemoteSha": "216f68e04bdf8b5fa2fb22b82964ec0a97295d78",
  "_user": "cran",
  "_type": "src",
  "_file": "bonsaisitter_0.1.2.tar.gz",
  "_fileid": "https://r2.ropensci.org/9056feb6620e36605f902e6f7f967640e32002b826b1437bc4fe622f9dc1c2dc",
  "_filesize": 344798,
  "_sha256": "9056feb6620e36605f902e6f7f967640e32002b826b1437bc4fe622f9dc1c2dc",
  "_expires": "2026-12-26T13:52:43.000Z",
  "_created": "2026-09-17T13:45:15.000Z",
  "_published": "2026-09-17T13:52:45.502Z",
  "_jobs": [
    {
      "job": 105228255240,
      "time": 107,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10500038757"
    },
    {
      "job": 105228255311,
      "time": 126,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10500611710"
    },
    {
      "job": 105228255185,
      "time": 99,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10500311652"
    },
    {
      "job": 105228255173,
      "time": 118,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10499873828"
    },
    {
      "job": 105227270293,
      "time": 156,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10500606307"
    },
    {
      "job": 105228255430,
      "time": 95,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "10500556576"
    },
    {
      "job": 105228255339,
      "time": 374,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10500019401"
    },
    {
      "job": 105228255281,
      "time": 123,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10500133905"
    },
    {
      "job": 105228255332,
      "time": 216,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10500721934"
    },
    {
      "job": 105228255221,
      "time": 86,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10499733983"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/35228795000",
  "_status": "success",
  "_upstream": "https://github.com/cran/bonsaisitter",
  "_commit": {
    "id": "216f68e04bdf8b5fa2fb22b82964ec0a97295d78",
    "author": "Troy Hernandez <troy@cornball.ai>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.1.2\n",
    "time": 1789635609
  },
  "_maintainer": {
    "name": "Troy Hernandez",
    "email": "troy@cornball.ai",
    "login": "troyhernandez",
    "description": "",
    "uuid": 5670773,
    "orcid": "0009-0005-4248-604X"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "tinytest",
      "role": "Suggests"
    },
    {
      "package": "treesitter",
      "role": "Suggests"
    },
    {
      "package": "treesitter.r",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-38",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.1.2",
      "date": "2026-09-17"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "troyhernandez",
      "count": 1,
      "uuid": 5670773
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 630,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/bonsaisitter"
  },
  "_devurl": "https://github.com/cornball-ai/bonsaisitter",
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/bonsaisitter.html",
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1.2",
      "date": "2026-09-17"
    }
  ],
  "_exports": [
    "audit_translation",
    "is_language",
    "is_node",
    "is_parser",
    "is_point",
    "is_query",
    "is_range",
    "is_tree",
    "is_tree_cursor",
    "language_field_count",
    "language_field_id_for_name",
    "language_field_name_for_id",
    "language_name",
    "language_next_state",
    "language_state_count",
    "language_symbol_count",
    "language_symbol_for_name",
    "language_symbol_name",
    "literals_and_calls",
    "node_child",
    "node_child_by_field_id",
    "node_child_by_field_name",
    "node_child_count",
    "node_children",
    "node_descendant_count",
    "node_descendant_for_byte_range",
    "node_descendant_for_point_range",
    "node_end_byte",
    "node_end_point",
    "node_field_name_for_child",
    "node_field_name_for_named_child",
    "node_first_child_for_byte",
    "node_first_named_child_for_byte",
    "node_grammar_symbol",
    "node_grammar_type",
    "node_has_error",
    "node_is_error",
    "node_is_extra",
    "node_is_missing",
    "node_is_named",
    "node_language",
    "node_named_child",
    "node_named_child_count",
    "node_named_children",
    "node_named_descendant_for_byte_range",
    "node_named_descendant_for_point_range",
    "node_next_named_sibling",
    "node_next_parse_state",
    "node_next_sibling",
    "node_parent",
    "node_parse_state",
    "node_previous_named_sibling",
    "node_previous_sibling",
    "node_range",
    "node_raw_s_expression",
    "node_show_s_expression",
    "node_start_byte",
    "node_start_point",
    "node_symbol",
    "node_text",
    "node_type",
    "node_walk",
    "parser",
    "parser_parse",
    "parser_reparse",
    "parser_set_included_ranges",
    "parser_set_language",
    "parser_set_timeout",
    "point",
    "point_column",
    "point_row",
    "query",
    "query_capture_count",
    "query_captures",
    "query_end_byte_for_pattern",
    "query_matches",
    "query_pattern_count",
    "query_start_byte_for_pattern",
    "query_string_count",
    "range",
    "range_end_byte",
    "range_end_point",
    "range_start_byte",
    "range_start_point",
    "text_parse",
    "tree_included_ranges",
    "tree_language",
    "tree_root_node",
    "tree_root_node_with_offset",
    "tree_text",
    "tree_walk"
  ],
  "_help": [
    {
      "page": "as.data.frame.tree_sitter_node",
      "title": "Convert a node's descendants to a data frame",
      "topics": [
        "as.data.frame.tree_sitter_node"
      ]
    },
    {
      "page": "audit_translation",
      "title": "Audit a code translation for drifted numeric constants",
      "topics": [
        "audit_translation"
      ]
    },
    {
      "page": "is_language",
      "title": "Is 'x' a language?",
      "topics": [
        "is_language"
      ]
    },
    {
      "page": "is_node",
      "title": "Is 'x' a node?",
      "topics": [
        "is_node"
      ]
    },
    {
      "page": "is_parser",
      "title": "Is 'x' a parser?",
      "topics": [
        "is_parser"
      ]
    },
    {
      "page": "is_query",
      "title": "Is 'x' a query?",
      "topics": [
        "is_query"
      ]
    },
    {
      "page": "is_tree",
      "title": "Is 'x' a tree?",
      "topics": [
        "is_tree"
      ]
    },
    {
      "page": "is_tree_cursor",
      "title": "Is 'x' a tree cursor?",
      "topics": [
        "is_tree_cursor"
      ]
    },
    {
      "page": "language_name",
      "title": "The name of a language",
      "topics": [
        "language_name"
      ]
    },
    {
      "page": "language-fields",
      "title": "Language fields",
      "topics": [
        "language_field_count",
        "language_field_id_for_name",
        "language_field_name_for_id"
      ]
    },
    {
      "page": "language-states",
      "title": "Language parse states",
      "topics": [
        "language_next_state",
        "language_state_count"
      ]
    },
    {
      "page": "language-symbols",
      "title": "Language symbols",
      "topics": [
        "language_symbol_count",
        "language_symbol_for_name",
        "language_symbol_name"
      ]
    },
    {
      "page": "literals_and_calls",
      "title": "Extract numeric literals and call names from source code",
      "topics": [
        "literals_and_calls"
      ]
    },
    {
      "page": "node_child_by_field_id",
      "title": "A child by field id",
      "topics": [
        "node_child_by_field_id"
      ]
    },
    {
      "page": "node_child_by_field_name",
      "title": "A child by field name",
      "topics": [
        "node_child_by_field_name"
      ]
    },
    {
      "page": "node_descendant_count",
      "title": "The number of descendants of a node",
      "topics": [
        "node_descendant_count"
      ]
    },
    {
      "page": "node_grammar_type",
      "title": "The grammar type of a node",
      "topics": [
        "node_grammar_type"
      ]
    },
    {
      "page": "node_is_named",
      "title": "Is a node named?",
      "topics": [
        "node_is_named"
      ]
    },
    {
      "page": "node_language",
      "title": "The language of a node",
      "topics": [
        "node_language"
      ]
    },
    {
      "page": "node_range",
      "title": "A node's range",
      "topics": [
        "node_range"
      ]
    },
    {
      "page": "node_raw_s_expression",
      "title": "The raw s-expression of a node",
      "topics": [
        "node_raw_s_expression"
      ]
    },
    {
      "page": "node_show_s_expression",
      "title": "Show a node's s-expression",
      "topics": [
        "node_show_s_expression"
      ]
    },
    {
      "page": "node_text",
      "title": "The text underlying a node",
      "topics": [
        "node_text"
      ]
    },
    {
      "page": "node_type",
      "title": "The type of a node",
      "topics": [
        "node_type"
      ]
    },
    {
      "page": "node-bytes",
      "title": "A node's start / end byte",
      "topics": [
        "node_end_byte",
        "node_start_byte"
      ]
    },
    {
      "page": "node-child",
      "title": "Access a child by index (1-indexed)",
      "topics": [
        "node_child",
        "node_named_child"
      ]
    },
    {
      "page": "node-child-count",
      "title": "Child counts",
      "topics": [
        "node_child_count",
        "node_named_child_count"
      ]
    },
    {
      "page": "node-children",
      "title": "All children of a node",
      "topics": [
        "node_children",
        "node_named_children"
      ]
    },
    {
      "page": "node-field-name",
      "title": "Field name for a child (1-indexed)",
      "topics": [
        "node_field_name_for_child",
        "node_field_name_for_named_child"
      ]
    },
    {
      "page": "node-locate",
      "title": "Locate nodes by byte or point",
      "topics": [
        "node_descendant_for_byte_range",
        "node_descendant_for_point_range",
        "node_first_child_for_byte",
        "node_first_named_child_for_byte",
        "node_named_descendant_for_byte_range",
        "node_named_descendant_for_point_range"
      ]
    },
    {
      "page": "node-navigation",
      "title": "Sibling and parent navigation",
      "topics": [
        "node_next_named_sibling",
        "node_next_sibling",
        "node_parent",
        "node_previous_named_sibling",
        "node_previous_sibling"
      ]
    },
    {
      "page": "node-points",
      "title": "A node's start / end point",
      "topics": [
        "node_end_point",
        "node_start_point"
      ]
    },
    {
      "page": "node-state",
      "title": "Node error and state predicates",
      "topics": [
        "node_has_error",
        "node_is_error",
        "node_is_extra",
        "node_is_missing"
      ]
    },
    {
      "page": "node-symbols",
      "title": "Node symbols and parse states",
      "topics": [
        "node_grammar_symbol",
        "node_next_parse_state",
        "node_parse_state",
        "node_symbol"
      ]
    },
    {
      "page": "parser",
      "title": "Create a parser",
      "topics": [
        "parser"
      ]
    },
    {
      "page": "parser-adjust",
      "title": "Adjust a parser",
      "topics": [
        "parser_set_included_ranges",
        "parser_set_language",
        "parser_set_timeout"
      ]
    },
    {
      "page": "parser-parse",
      "title": "Parse or reparse text",
      "topics": [
        "parser_parse",
        "parser_reparse"
      ]
    },
    {
      "page": "points",
      "title": "Points",
      "topics": [
        "is_point",
        "point",
        "point_column",
        "point_row"
      ]
    },
    {
      "page": "query",
      "title": "Compile a tree-sitter query",
      "topics": [
        "query"
      ]
    },
    {
      "page": "query_captures",
      "title": "Run a query and collect its captures",
      "topics": [
        "query_captures"
      ]
    },
    {
      "page": "query_matches",
      "title": "Run a query and collect its matches",
      "topics": [
        "query_matches"
      ]
    },
    {
      "page": "query-bytes",
      "title": "Query byte ranges per pattern (1-indexed pattern)",
      "topics": [
        "query_end_byte_for_pattern",
        "query_start_byte_for_pattern"
      ]
    },
    {
      "page": "query-counts",
      "title": "Query counts",
      "topics": [
        "query_capture_count",
        "query_pattern_count",
        "query_string_count"
      ]
    },
    {
      "page": "ranges",
      "title": "Ranges",
      "topics": [
        "is_range",
        "range",
        "range_end_byte",
        "range_end_point",
        "range_start_byte",
        "range_start_point"
      ]
    },
    {
      "page": "text_parse",
      "title": "Parse text in one step",
      "topics": [
        "text_parse"
      ]
    },
    {
      "page": "tree_included_ranges",
      "title": "The tree's included ranges",
      "topics": [
        "tree_included_ranges"
      ]
    },
    {
      "page": "tree_root_node",
      "title": "Retrieve the root node of a tree",
      "topics": [
        "tree_root_node"
      ]
    },
    {
      "page": "tree_root_node_with_offset",
      "title": "An offset root node",
      "topics": [
        "tree_root_node_with_offset"
      ]
    },
    {
      "page": "tree-accessors",
      "title": "Tree accessors",
      "topics": [
        "tree_language",
        "tree_text"
      ]
    },
    {
      "page": "tree-cursor",
      "title": "Walk a tree or node with a cursor",
      "topics": [
        "node_walk",
        "tree_walk"
      ]
    }
  ],
  "_readme": "https://github.com/cran/bonsaisitter/raw/HEAD/README.md",
  "_rundeps": [],
  "_score": 1.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "bonsaisitter",
  "_universes": [
    "cran",
    "troyhernandez",
    "cornball-ai"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-09-17T13:47:10.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "216f68e04bdf8b5fa2fb22b82964ec0a97295d78",
      "fileid": "https://r2.ropensci.org/fc64910151500bbeb252316a750047968e2eeada74f7c9f384dce2bb0dbac6b0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/35228795000"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-09-17T13:47:23.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "216f68e04bdf8b5fa2fb22b82964ec0a97295d78",
      "fileid": "https://r2.ropensci.org/6f2a0bdc374b09379c0c36b83c90c3e8c963e958165efc3b64542105d134f2d5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/35228795000"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-09-17T13:47:04.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "216f68e04bdf8b5fa2fb22b82964ec0a97295d78",
      "fileid": "https://r2.ropensci.org/fe67ba8ff3eb3953c3c700d3a0eb4402e61851aff0c63a9f8e951e4c474d7fbc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/35228795000"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-09-17T13:47:21.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "216f68e04bdf8b5fa2fb22b82964ec0a97295d78",
      "fileid": "https://r2.ropensci.org/c5ab9a32e5bc05ec9dffc9769c49684bbad5061844fe3e0b295f4b07ce53d2de",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/35228795000"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.2",
      "date": "2026-09-17T13:47:07.000Z",
      "arch": "emscripten",
      "commit": "216f68e04bdf8b5fa2fb22b82964ec0a97295d78",
      "fileid": "https://r2.ropensci.org/8b8e751e91e50b71c731a1333604aaf397f53c4da0e66c501787f8c8ab8203be",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/35228795000"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-09-17T13:51:19.000Z",
      "arch": "aarch64",
      "commit": "216f68e04bdf8b5fa2fb22b82964ec0a97295d78",
      "fileid": "https://r2.ropensci.org/246f74a8246957de10aef275e50e37674de2b2ccb139689e5301d3e058d552c7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/35228795000"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-09-17T13:46:25.000Z",
      "arch": "x86_64",
      "commit": "216f68e04bdf8b5fa2fb22b82964ec0a97295d78",
      "fileid": "https://r2.ropensci.org/0436dd93b4767c5be8b9203f89f5306304dae5924c4d7a5a635e2d266ff87f38",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/35228795000"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-09-17T13:48:44.000Z",
      "arch": "aarch64",
      "commit": "216f68e04bdf8b5fa2fb22b82964ec0a97295d78",
      "fileid": "https://r2.ropensci.org/1649383b4978f3818273c17c947dc76c7800cb92c2ec0066f7eb57851d7e4ba6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/35228795000"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-09-17T13:46:25.000Z",
      "arch": "x86_64",
      "commit": "216f68e04bdf8b5fa2fb22b82964ec0a97295d78",
      "fileid": "https://r2.ropensci.org/0a4ec786e65232e3f53fe8e17e86d7639f228988143eb78e3de2da2c5c426b77",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/35228795000"
    }
  ]
}