February 25, 2026
CGO? More like CGone
Show HN: I ported Tree-sitter to Go
Go dev drops C baggage, fans cheer—then argue about the name
TLDR: A pure-Go port of Tree-sitter promises easier installs, cross-platform builds, and much faster small edits in code editors. Devs cheer the end of C hassles, but the thread spirals into a “got” name mix-up with OpenBSD’s tool, Git compatibility debates, and a cheeky “is this AI-written?” jab—because of course it does.
A solo dev just ported Tree-sitter—the code-parsing engine loved by editors—into pure Go, no C glue needed. That means simpler installs, easier cross-platform builds, and claims of up to 90x faster small edits in editors. The crowd went wild… then immediately started fighting over the name.
On one side, the freedom-from-C party arrived early. Bazel folks practically rolled out a red carpet: “no more CGO” means fewer build nightmares and happier continuous integration. On the other, the thread forked like a drama-prone Git repo when people saw the word “got.” Cue confusion with OpenBSD’s Game of Trees (a Git tool), and suddenly half the comments were about whether this new thing should work with Git like jujutsu, or how it “improves over git.” Spoiler: it’s not a Git tool—it’s a parser.
Meanwhile, the speed claim had folks side-eying their keyboards, but the feature list felt real: drop-in grammars, incremental parsing, syntax highlighting, and tagging—all in Go. Then a classic HN twist: one commenter poked at the repo layout and asked if this was “an LLM thing”, because nothing says launch day like a stray AI accusation.
Verdict: fans love the no-C, works-anywhere vibe; the comments devolved into a got/gotcha name war and Git tangents, with a sprinkle of AI paranoia. Welcome to the internet in 2026. Repo
Key Points
- •gotreesitter is a pure-Go Tree-sitter runtime that removes CGo and C toolchain dependencies and is WASM-ready.
- •It implements Tree-sitter’s parse-table format so existing grammars work without recompilation.
- •Claims include faster performance than CGo bindings, with incremental editing up to ~90x faster (1.38 μs vs 124 μs).
- •Features cover S-expression queries with predicates, incremental parsing, syntax highlighting, and symbol tagging.
- •A Quality field per language indicates parse fidelity (full, partial, none), and benchmarks compare against go-tree-sitter under specified environments.