Good syntax highlighting that can be embedding into Emacs.
Go to file
katrinafyi ac17c8d003 playground: set default LANGUAGE_BASE_URL to "." to fix subfolder hosting
Previously with the empty string base URL, the playground would not work when hosted at a subfolder of the domain. This is because playground.js has this code:

      const url = `${LANGUAGE_BASE_URL}/tree-sitter-${newLanguageName}.wasm`;

With an empty string, it would look for wasm at the root of the website and 404.

Github code search shows that this is an issue which lots of people have run into, and everyone has to work around it: https://github.com/search?q=%2FLANGUAGE_BASE_URL+%3D+%22%22%2F+-language%3AHTML&type=code

Related to https://www.github.com/tree-sitter/tree-sitter/issues/5230
2026-08-24 19:41:26 -04:00
.cargo chore: remove CARGO_WORKSPACE_DIR var 2025-09-24 16:14:08 -04:00
.github fix(ci): run all workspace tests 2026-08-20 02:47:10 -04:00
.zed Add zed config file (enable all cargo features for rust-analyzer) 2025-04-23 16:32:21 -07:00
crates playground: set default LANGUAGE_BASE_URL to "." to fix subfolder hosting 2026-08-24 19:41:26 -04:00
docs feat!: add an eof function 2026-08-21 20:02:58 -04:00
lib fix(rust): remove must_use attribute from Tree::changed_ranges 2026-08-23 09:45:42 +02:00
test/fixtures feat!: add an eof function 2026-08-21 20:02:58 -04:00
.dockerignore Add a simple dockerfile for testing 2024-03-18 12:35:10 -07:00
.editorconfig style(zig): reformat files 2025-08-28 20:54:25 +03:00
.envrc nix: support single-checkout and multi-workspace direnv setups 2026-02-18 00:50:06 -05:00
.gitattributes Reorganize rust crates into a flat crates directory, simplify some CI steps (#4496) 2025-06-06 14:25:37 -07:00
.gitignore refactor: rework nix flake 2025-09-09 03:03:35 -04:00
.taplo.toml treewide: add taplo config and reformat toml files 2026-02-18 00:59:34 -05:00
build.zig build(zig): update to zig 0.16 2026-04-15 14:54:53 +02:00
build.zig.zon Upgrade to latest wasmtime, improve robustness and perf of wasm-based parsing (#5847) 2026-08-20 21:02:11 +00:00
Cargo.lock generate: use a single buffer for the string pool's backing store 2026-08-23 14:15:16 -04:00
Cargo.toml generate: use a single buffer for the string pool's backing store 2026-08-23 14:15:16 -04:00
CMakeLists.txt fix(lib): address strict aliasing violations in TreeCursor type 2026-06-16 23:55:43 -04:00
CONTRIBUTING.md docs: improve docs for contributing to docs 2025-01-10 22:57:54 -05:00
flake.lock flake: update lockfile 2026-02-09 22:52:13 -05:00
flake.nix nix: fix clangd not working 2026-02-08 11:09:31 +01:00
FUNDING.json chore: add FUNDING.json 2023-11-08 00:08:07 -05:00
LICENSE chore: copy license to all packages 2025-09-11 03:12:35 -04:00
Makefile fix(lib): address strict aliasing violations in TreeCursor type 2026-06-16 23:55:43 -04:00
README.md docs: change WASM/wasm to Wasm 2025-08-21 09:56:32 +03:00

tree-sitter

DOI discord matrix

Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited. Tree-sitter aims to be:

  • General enough to parse any programming language
  • Fast enough to parse on every keystroke in a text editor
  • Robust enough to provide useful results even in the presence of syntax errors
  • Dependency-free so that the runtime library (which is written in pure C) can be embedded in any application