recoco-splitters

Crates.iorecoco-splitters
lib.rsrecoco-splitters
version0.2.1
created_at2026-01-25 00:16:59.508598+00
updated_at2026-01-25 20:52:23.82569+00
descriptionText splitters/parsers for ReCoco, an all-Rust fork of CocoIndex with greater flexibility.
homepage
repositoryhttps://github.com/knitli/recoco
max_upload_size
id2067763
size99,804
Adam Poulemanos (bashandbone)

documentation

README

ReCoco Splitters

Intelligent text splitting and parsing for ReCoco.

This crate implements sophisticated text splitting strategies, primarily leveraging Tree-sitter to perform syntax-aware chunking of source code and structured documents.

🚀 Why Tree-sitter?

Standard text splitters often break code in the middle of functions or classes, destroying context. recoco-splitters understands the syntax of the language it is processing, ensuring that chunks respect logical boundaries (e.g., keeping a whole function together).

📦 Supported Languages

To minimize binary size, every language parser is feature-gated. Enable only what you need in your Cargo.toml.

[dependencies]
recoco-splitters = { version = "...", features = ["python", "rust"] }
Feature Language
} all all languages
c C
c-sharp C#
cpp C++
css CSS
fortran Fortran
go Go
html HTML
java Java
javascript JavaScript
json JSON
kotlin Kotlin
markdown Markdown
php PHP
python Python
r R
ruby Ruby
rust Rust
scala Scala
solidity Solidity
sql SQL
swift Swift
toml TOML
typescript TypeScript
xml XML
yaml YAML

🧩 Splitter Strategies

  • Recursive Character Splitter: Standard splitting by separators (paragraphs, newlines, etc.).
  • Recursive Syntax Splitter: Tree-sitter based splitting that respects code blocks and syntax nodes.

📄 License

Apache-2.0. See main repository for details.

Commit count: 1191

cargo fmt