Subject: CVS commit: pkgsrc/textproc/tree-sitter
From: Thomas Klausner
Date: 2025-02-02 16:54:45
Message id: 20250202155445.57283FBE0@cvs.NetBSD.org

Log Message:
tree-sitter: update to 0.25.1.

Fix pkg-config file path.

Features

    cli: Specify abi version via env var (#4173)

Bug Fixes

    bindings: Correct Zig bindings to expose a language function
    lib: Prevent finished_tree assertion failure (#4176)

Documentation

    Correct build steps for WASM files

Build System and CI

    Use ubuntu-22.04 for x64 builds (#4175)
    Bump version to 0.25.1

Other

    rust: Correct doc comments

0.25.0

Notices

This is a large release. As such, a few major changes and how to adapt to them \ 
are outlined below:

    web-tree-sitter was rewritten in TypeScript. With that, we also now publish \ 
the sourcemaps, and debug builds for the library. We also publish both CommonJS \ 
and ESM modules.
    The internal ABI was bumped to 15. The main benefits this brings is that the \ 
language name, version, supertype info, and reserved words are added to the \ 
parsers. To use ABI 15, you must have a tree-sitter.json file in your \ 
repository, since the version information for the parser is pulled from this \ 
file.
    Parsing and Querying should be cancelled using the "progress \ 
callback", rather than setting a timeout or a cancellation flag, which are \ 
now deprecated. To do so, use the "parse/query with options" function \ 
in the bindings you choose to use, in the next release the old way of timing out \ 
parsing will be removed, which allows us to get rid of our dependency on the \ 
time.h headers in the core library.
    MISSING nodes can now be queried, and queries involving supertypes are \ 
properly validated now.
    The ts_node_child_containing_descendant function was removed; use \ 
ts_node_child_with_descendant instead (which has nearly the same behavior but \ 
can also return descendant.)
    TSInput now includes a (mandatory) new field DecodeFunction, which allows \ 
passing a custom decode function. To use the builtin function, pass NULL.
    In the DSL, there is now a RustRegex function, which takes in a Rust regex \ 
as a string. All of the capabilities of Rust's regex engine are available here, \ 
which allows for some nice features that aren't possible with JavaScript \ 
regexes.
    We've migrated our documentation to mdBook, and greatly improved the docs.

Breaking

    Properly handle UTF-16 endianness encoding (#3740)
    Bump internal abi to 15 (#3803)
    Update playground with new web bindings (#4121)
    bindings: Update swift bindings (#4154)
    cli: Remove migration code for tree-sitter.json (#4107)
    generate: Use regex_syntax::Hir for expanding regexes (#3831)
    lib: Remove ts_node_child_containing_descendant (#4107)
    lib: Add the ability to specify a custom decode function (#3833)
    web: Rewrite the library in TypeScript (#4121)
    web: Use the WASM module in the bindings, and not the other way around (#4121)
    web: Rename pattern to patternIndex in QueryMatch (#4141)
    web: Deprecate Language.query in favor of new Query (#4141)

Features

    Drop legacy binding updates (#3734)
    Bump version to 0.25 (#3752)
    Allow setting the output directory for generated source files (#2614)
    Move scripts to xtasks (#3758)
    Add CST pretty-printer for parser output (#3762)
    Add version subcommand for versioning grammars (#3786)
    Add build sha to parser.c header comment (#3828)
    Implement a cache for get_column (#2503)
    Generate schema in tree-sitter.json (#3947)
    Support querying missing nodes (#3887)
    Add flag to output css classes instead of inline styles in HTML highlighter \ 
output (#3879)
    Add xtask to bump emscripten-version (#4015)
    Add 'reserved word' construct (#3896)
    Add Supertype API (#3938)
    Support passing in a Rust regex in the grammar dsl (#4076)
    Allow parser balancing to be cancellable (#4122)
    Remove lazy_static in favor of LazyLock (#4130)
    Add and apply eslint config (#4121)
    Begin autogenerating web-tree-sitter.d.ts (#4121)
    Publish both CJS and ESM files (#4121)
    Add a patternIndex field to QueryCapture (#4141)
    Improve PredicateStep types (#4141)
    Add the semantic version to TSLanguage, and expose an API for retrieving it \ 
(#4135)
    Add error information in the progress callback (#3987)
    bindings: Auto-detect scanners (#3809)
    bindings: Drop language name from node (#3184)
    bindings: Update some binding files (#3952)
    bindings: Drop python 3.9 support (#3799)
    bindings: Support free-threaded python build (#3799)
    bindings: Add opt-in zig bindings (#4144)
    bindings: Use cc 1.2 for Rust (#4156)
    cli: Verify assertions for every carat in tests, not just the first one (#3927)
    cli: Add nushell completions (#4000)
    cli: Don't validate email addresses in init command (#3999)
    cli: Show parse times in testing output (#3939)
    cli: Display parse and edit times separately for parse --time (#4016)
    cli: Make input handling agnostic (#4054)
    cli: Rework parse to use new input handler (#4054)
    cli: Rework query to use new input handler (#4054)
    cli: Rework highlight to use new input handler (#4054)
    cli: Rework tags to use new input handler (#4054)
    cli: Add json summary of parsing (#4048)
    cli: Allow test subcommand to include/exclude by corpus test file names (#4095)
    cli: Improve readability of parse debug output (#4118)
    generate: Add a comment with the tree-sitter version (#3825)
    generate: Add .exp and .lib files to gitignore template (#4079)
    generate: Explicitly disallow non-terminals in non-terminals (#4111)
    generate: Properly filter out unused rules (#4111)
    generate: Add an extra field for extra nodes in node-types.json (#4116)
    generate: Defer to ABI 14 if tree-sitter.json doesn't exist, rather than \ 
hard failing (#4156)
    highlight: Mark TSHighlighter fields as pub (#3990)
    init: Allow dashes in scopes (#4142)
    init: Add an optional funding field (#4142)
    init: Add a class-name field to grammars (#4142)
    init: Add a title field to grammars (#4142)
    lib: Wrap subtrees with changes in green circles (#3741)
    lib: Add the language name (#3184)
    lib: Add ts_parser_parse_with_options (#3843)
    lib: Add ts_query_cursor_exec_with_options (#3843)
    lib: Use const for TSCharacterRanges (#4027)
    lib: Implement Send + Sync for WasmStore (#4130)
    loader: Add language_for_configuration (#3816)
    loader: Add error message when a tree-sitter.json file is invalid (#3897)
    loader: Support multi-barreled file extensions (#3880)...

Files:
RevisionActionfile
1.16modifypkgsrc/textproc/tree-sitter/Makefile
1.6modifypkgsrc/textproc/tree-sitter/PLIST
1.16modifypkgsrc/textproc/tree-sitter/distinfo
1.7modifypkgsrc/textproc/tree-sitter/patches/patch-Makefile