42 lines
1.6 KiB
Markdown
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 } ;
|
|
```
|