Home / Companies / Zed / Blog / Post Details
Content Deep Dive

Extensible Language Support in Zed - Part 1

Blog post from Zed

Post Details
Company
Zed
Date Published
Author
Max Brunsfeld
Word Count
1,748
Company Posts That Month
3
Language
English
Hacker News Points
-
Post removed?
No
Summary

About two months ago, a project to make the Zed code editor extensible was initiated, with a focus on supporting multiple programming languages through extensible language support. The first milestone has been achieved by enabling syntax-based analysis using Tree-sitter, which requires specific grammars and queries for each language, and the integration of WebAssembly (wasm) to safely distribute and run Tree-sitter parsers across platforms. This hybrid system combines native and wasm components to efficiently handle data exchanges during parsing without relying on a user's C compiler, minimizing crashes and enhancing performance. The introduction of a WasmStore type within the Tree-sitter API allows for the creation of language instances from wasm binaries, maintaining safety and performance, while minimizing memory leaks through a custom memory allocation strategy during parsing. Since the release of this feature, the Zed community has developed 67 language extensions, showcasing the system's flexibility and the support for syntax-aware features. Future posts will discuss further uses of wasm in Zed's extensibility, inviting users to explore and contribute to its growing capabilities.

Trends Found in this Post

No tracked trend matches for this post yet.

Use This Data

Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.