zed-eiwa
Eiwa language support for Zed.
Features
- Syntax highlighting for
.eifiles via tree-sitter-eiwa (a fork of tree-sitter-kotlin extended with Eiwa syntax) - ES6-style imports (
import { X } from "mod"),testandlibblocks, ternary expressions, union types (Int | Null), baretry/catch - Lambda-style
for(for (xs) { it * 2 }, incl. map-styleforas a value),leavewith a value, untypedcatch (e) - Composition type system:
type(generics,: Contract++ Skillheaders),contract,skill, first-classenum, type-bound companions (type Config { } object { },object S { } type (...) { }) - Varargs (
Int...), platform targets (object("windows") X,lib("posix") Y),ofmap pairs (["k" of "v"]) - Bracket matching and auto-closing pairs
- Comment toggling (
//and/* */) - Symbol outline (types, contracts, skills, enums, objects, libs, tests, functions, properties)
Limitations
- No language server (LSP) yet: no autocomplete, go-to-definition or diagnostics.
Installing (dev extension)
- Clone this repository.
- In Zed, open the command palette and run
zed: install dev extension. - Select this directory (
zed-extension/).
Zed will download and compile the tree-sitter grammar on first install.