Skip to content

Expand languages - #20

Open
casualjim wants to merge 37 commits into
RubixDev:mainfrom
casualjim:expand-languages
Open

Expand languages#20
casualjim wants to merge 37 commits into
RubixDev:mainfrom
casualjim:expand-languages

Conversation

@casualjim

Copy link
Copy Markdown

So I don't know if you're going to want this. it's pretty challenging getting this to build in a reasonable amount of time.

Anyway this brings language support up to 340 languages. I used it to create this: https://github.com/casualjim/umber
I wanted to make something that would do more languages and formats than bat and would be faster, it's both those things.

I also joined hyperpolyglot (github's linguist in rust) with your tft. https://github.com/casualjim/palate it also detects all those languages.

I really liked this syntastica project when I found it, but I also have embeders and chunkers and such that were using the full set of tree sitter parsers that I found. I was using syntastica for syntax highlighting and I thought it's a shame they can't share these grammars easily, now they can.

casualjim and others added 30 commits January 27, 2026 21:57
Co-authored-by: casualjim <456109+casualjim@users.noreply.github.com>
Co-authored-by: casualjim <456109+casualjim@users.noreply.github.com>
Co-authored-by: casualjim <456109+casualjim@users.noreply.github.com>
Co-authored-by: casualjim <456109+casualjim@users.noreply.github.com>
Fix CI: reorder WASM target setup to prevent pcre2 JIT compilation errors
Tree-sitter 0.26+ added custom stdlib implementations for all wasm32-unknown*
targets, which conflict with Emscripten's libc. Downgrading to 0.25.2 (matching
upstream RubixDev/syntastica) resolves the duplicate symbol errors.

Changes:
- tree-sitter: 0.26.3 -> 0.25.2
- tree-sitter-generate: 0.26.3 -> 0.25.1
- tree-sitter-loader: 0.26.3 -> 0.25.1
- tree-sitter-tags: 0.26.3 -> 0.25.1
- Revert progress_callback API change (ControlFlow -> bool)
- Revert generate_parser_in_directory to 6 arguments
Restore the VM setup script and grammar priming script from commits
after eb66bd4, without the gitcommit OOM workarounds.
The gitcommit parser has massive character tables (84K lines with 18
locales) that cause emscripten to use 80GB+ RAM during compilation.

Set wasm = false in languages.toml to exclude it from JS/WASM builds.
The parser will still work for native Rust builds.

Changes:
- syntastica-macros/languages.toml: wasm = false for gitcommit
- Removed syntastica-js/langs/gitcommit/ directory
Exclude tmux from wasm language generation to avoid CI build failures.\nThe emcc compile for tree-sitter-tmux is being SIGKILLed on the runner,\nso this matches the existing gitcommit wasm exclusion.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Exclude zsh from wasm language generation to avoid CI build failures.\nThe emcc compile for tree-sitter-zsh is being SIGKILLed on the runner,\nmatching the tmux/gitcommit wasm exclusions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Exclude gnuplot from wasm language generation to avoid CI build failures.\nThe emcc compile for tree-sitter-gnuplot is being SIGKILLed on the runner,\nmatching the tmux/zsh/gitcommit wasm exclusions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
parser.c is too large and causes emcc to be OOM-killed (SIGKILL) on
the Hetzner CI runner.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…zner runner registration

Co-authored-by: casualjim <456109+casualjim@users.noreply.github.com>
…d-error

Fix CI 401 Unauthorized error on Hetzner runner creation
Copilot AI and others added 5 commits March 18, 2026 15:11
Co-authored-by: casualjim <456109+casualjim@users.noreply.github.com>
Deduping by ffi symbol kept one alias gate and could drop the\nextern/build path for mixed-group aliases like c_sharp/csharp\nand diff/gitdiff.\n\nBuild and FFI codegen now gate shared symbols on the union of\nalias features and test the mixed-group cases.
casualjim and others added 2 commits April 22, 2026 20:51
* chore: run codegen

* fix(macros): union shared ffi feature gates (#7)

Deduping by ffi symbol kept one alias gate and could drop the\nextern/build path for mixed-group aliases like c_sharp/csharp\nand diff/gitdiff.\n\nBuild and FFI codegen now gate shared symbols on the union of\nalias features and test the mixed-group cases.

* build!: upgrade tree-sitter 0.25 → 0.26.8, drop runtime-c2rust

tree-sitter-c2rust is frozen at 0.25.2 with no 0.26 release.
Drop runtime-c and runtime-c2rust features across all crates.

Upstream 0.26 build.rs fires configure_wasm_build for any
wasm32-unknown-* target, colliding with emscripten's libc (duplicate
fwrite/fprintf). Patch via [patch.crates-io] pointing at a local
v0.26.8 clone where the check is constrained to wasm32-unknown-unknown.
CI clones and patches the tree-sitter repo via _prepare_ci.sh.

API fixes: ParseOptions::progress_callback now returns ControlFlow<()>
instead of bool; generate_parser_in_directory gained two new args
(generate_parser: bool, opt_level: OptLevel).

* ci: add libclang-dev for rquickjs-sys bindgen (tree-sitter-generate 0.26 dep)

* fix(deps): add tree-sitter-language to root dev-deps for examples

---------

Co-authored-by: casualjim <casualjim@users.noreply.github.com>
)

* feat!: rename all crates syntastica→verdant for crates.io publishing

Fork renamed from syntastica to verdant to allow independent publishing.
Upstream does not accept large PRs; this fork will return to contributing
upstream if that changes.

- All package names: syntastica* → verdant*
- Rust identifiers: syntastica_* → verdant_*
- npm packages: @syntastica/* → @verdant/*
- syntastica-js.d.ts → verdant-js.d.ts, SyntasticaModule → VerdantModule
- wasm symbol prefix: syntastica_lang_ → verdant_lang_
- Authors/repo URLs updated to casualjim
- README fork notice added

* fix(rename): update missed syntastica dep refs in xtask and examples Cargo.toml

* fix(codegen): align autogen header string after workspace rename

* chore: run codegen after rename
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants