Good syntax highlighting that can be embedding into Emacs.
Go to file
Will Lillis 7511e3adaa fix(rust)!: tie query iterators to options lifetime
`QueryMatches` and `QueryCaptures` retain query cursor options while they are
being iterated. However, their types did not preserve the lifetime of the
options' progress callback, allowing the callback to be dropped while it
was still referenced by the cursor.

Add an explicit options lifetime to both iterator types and propagate it
through `matches_with_options` and `captures_with_options`. Use a static
options lifetime for iterators created without options.
2026-08-07 01:15:38 -04:00
.cargo chore: remove CARGO_WORKSPACE_DIR var 2025-09-24 16:14:08 -04:00
.github ci: bump the actions group with 3 updates 2026-07-20 23:46:28 +02:00
.zed Add zed config file (enable all cargo features for rust-analyzer) 2025-04-23 16:32:21 -07:00
crates fix(rust)!: tie query iterators to options lifetime 2026-08-07 01:15:38 -04:00
docs feat(cli)!: rework HTML output modes in highlight 2026-07-24 20:56:56 -04:00
lib fix(rust)!: tie query iterators to options lifetime 2026-08-07 01:15:38 -04:00
test/fixtures fix(generate): honor right associativity despite a lower-precedence shift 2026-07-27 02:06:35 -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 build(deps): bump wasmtime-c-api to v36.0.13 2026-08-06 01:06:13 -04:00
Cargo.lock build(deps): bump wasmtime-c-api to v36.0.13 2026-08-06 01:06:13 -04:00
Cargo.toml build(deps): bump the cargo group with 3 updates 2026-06-03 12:06:15 +02: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
Dockerfile Add a simple dockerfile for testing 2024-03-18 12:35:10 -07: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
Package.swift fix(build): define _BSD_SOURCE 2026-01-12 19:41:58 -05: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