1 unstable release
new 0.1.0 | Jun 2, 2025 |
---|
#92 in #tree-sitter-grammar
2MB
73K
SLoC
tree-sitter-onescript
tree-sitter-onescript — полноценная грамматика Tree-sitter, для языка OneScript.
Быстрый старт
# 0. Требования
# ───────────
# • Rust ≥ 1.77 (edition 2024) • tree-sitter-cli ≥ 0.25 • Node.js — по желанию
# 1. Подключаем зависимость
cargo add tree-sitter-onescript # или path-зависимость, пока не выложено на crates.io
# 2. Мини-пример на Rust
use tree_sitter::{Parser};
use tree_sitter_onescript::language;
let mut parser = Parser::new();
parser.set_language(language()).unwrap();
let tree = parser.parse("Перем x; x = 1;", None).unwrap();
println!("{}", tree.root_node().to_sexp());
Сборка из исходников
git clone https://github.com/tree-sitter-onescript
cd tree-sitter-onescript
tree-sitter generate # генерирует src/parser.c
cargo build # собирает rlib + cdylib
Структура проекта
├── grammar.js # грамматика
├── src/
│ ├── parser.c # автогенерируемый C-парсер
│ └── lib.rs # безопасная обёртка (pub fn language())
└── test/corpus # corpus-тесты (tree-sitter test …)
TODO
-
highlights.scm
-
Автоматическое тестирование на популярных библиотеках OneScript
Dependencies
~4–280KB