Files

42 lines
1.6 KiB
Markdown

# EBNF for Zed
A [Zed](https://zed.dev/) extension that provides comprehensive language support for Extended Backus-Naur Form (EBNF).
## Features
- **Syntax Highlighting:** Vibrant and accurate highlighting for EBNF rules, strings, integers, and special sequences.
- **Bracket Matching:** Support for rainbow brackets and active bracket highlighting for standard brackets `()`, `{}`, `[]`, as well as EBNF-specific sequences like `(/ /)` and `(: :)`.
- **Auto-Closing & Indentation:** Smart bracket auto-closing and indentation behaviors when writing rules.
- **Outline Panel Support:** Quickly navigate large grammar files using Zed's Outline panel (`cmd-shift-O` or `ctrl-shift-O`).
## Installation
### From the Zed Extension Registry (Coming Soon)
1. Open Zed.
2. Open the Command Palette (`cmd-shift-p` / `ctrl-shift-p`).
3. Search for **`zed: extensions`**.
4. Search for **EBNF** and click **Install**.
### Local Development / Manual Installation
If you want to install this extension manually or tweak it:
1. Clone this repository:
```bash
git clone [https://git.hadeler.me/jooris/zed-ebnf.git](https://git.hadeler.me/jooris/zed-ebnf.git)
```
2. Open Zed.
3. Open the Command Palette (`cmd-shift-p` / `ctrl-shift-p`) and search for **`zed: extensions`**.
4. Click the **Install Dev Extension** button.
5. Select the cloned `zed-ebnf` directory.
## Example EBNF
Once installed, `.ebnf` files will automatically be highlighted:
```ebnf
(* A simple EBNF grammar *)
digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
number = digit , { digit } ;
```