{"id":22615718,"url":"https://github.com/polyvariant/treesitter4s","last_synced_at":"2026-02-03T16:33:42.002Z","repository":{"id":58104208,"uuid":"527698953","full_name":"polyvariant/treesitter4s","owner":"polyvariant","description":"WORK IN PROGRESS","archived":false,"fork":false,"pushed_at":"2024-12-24T20:39:31.000Z","size":8679,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-11T12:42:10.275Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/polyvariant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-08-22T19:08:38.000Z","updated_at":"2024-12-24T19:56:46.000Z","dependencies_parsed_at":"2023-09-24T02:54:04.364Z","dependency_job_id":"c01ecba9-62c0-4f72-90f0-b58650ce4272","html_url":"https://github.com/polyvariant/treesitter4s","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/polyvariant/treesitter4s","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polyvariant%2Ftreesitter4s","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polyvariant%2Ftreesitter4s/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polyvariant%2Ftreesitter4s/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polyvariant%2Ftreesitter4s/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/polyvariant","download_url":"https://codeload.github.com/polyvariant/treesitter4s/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/polyvariant%2Ftreesitter4s/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259843330,"owners_count":22920312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-08T19:09:11.784Z","updated_at":"2026-02-03T16:33:36.971Z","avatar_url":"https://github.com/polyvariant.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# treesitter4s\n\nTree-sitter wrapper for Scala (JVM). Uses JNA to wrap the native library.\n\n## Usage\n\n# Work in progress note\n\nThis project is still in the oven and under active development.\nDon't assume anything will work or that anything will stay as it is right now.\n\nFeel free to try it if that's okay with you ;)\n\n```scala\nlibraryDependencies ++= Seq(\n  // Pure Scala interface - cross-compiled for JVM \u0026 JS platforms\n  \"org.polyvariant.treesitter4s\" %% \"core\" % version,\n  // Bindings for the JVM artifact. Brings in JNA and the native library.\n  // You probably want to use this one.\n  \"org.polyvariant.treesitter4s\" %% \"bindings\" % version,\n  // Language support for a specific language.\n  // There's active work to split these out to separate artifacts.\n  // \"org.polyvariant.treesitter4s\" %% \"language-scala\" % version,\n  // \"org.polyvariant.treesitter4s\" %% \"language-python\" % version,\n)\n```\n\n## Goals\n\n- **immutable**, read-only, Scala-friendly API\n- complete, 1-1 native/Java interface via [JNA](https://github.com/java-native-access/jna)\n- binary convenience: no dealing with native libraries if you're on a supported system\n- extensible language support\n\n## Supported systems\n\nSupport can vary, but the following platforms are considered supported:\n\n- macOS x86_64\n- macOS aarch64\n- Linux x86_64\n- Linux aarch64\n\nCI runs on x86_64 macOS/Linux machines. Development is currently done on an aarch64 Mac.\nlinux-aarch64 binaries are included thanks to the magic of [Nix](https://nixos.org/) and [Nixbuild](https://nixbuild.net/), but the library isn't being tested on that platform because GitHub doesn't offer runners for it yet ([there's hope](https://github.blog/news-insights/product-news/arm64-on-github-actions-powering-faster-more-efficient-build-systems/)).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolyvariant%2Ftreesitter4s","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpolyvariant%2Ftreesitter4s","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpolyvariant%2Ftreesitter4s/lists"}