Skip to content

Add eon_lsp language server, Zed extension CI, and eonfmt stdin support#7

Draft
MatiasHiltunen wants to merge 1 commit intoemilk:mainfrom
MatiasHiltunen:add-lsp-and-zed-extension
Draft

Add eon_lsp language server, Zed extension CI, and eonfmt stdin support#7
MatiasHiltunen wants to merge 1 commit intoemilk:mainfrom
MatiasHiltunen:add-lsp-and-zed-extension

Conversation

@MatiasHiltunen
Copy link

Add crates/eon_lsp, language server for Eon built on tower-lsp.

Includes features such as:

  1. Diagnostics on open/change/save via eon_syntax
  2. Document formatting via eon::reformat
  3. Keyword and context-aware map-key completions
  4. Document symbols for map keys

Add stdin/stdout support to eonfmt: passing "-" as the file argument reads from stdin and writes formatted output to stdout -> enables use as an editor formatter (fe. with Helix, Neovim).

Add CI workflow drafts (needs to be verified):

  • eon_zed_extension.yml: tree-sitter grammar tests and WASM extension build check
  • eon_lsp_release.yml: cross-platform binary releases for macOS, Linux, and Windows

Currently the tree-sitter-eon is here: https://github.com/MatiasHiltunen/tree-sitter-eon

And the Zed extension (Zed requires it to be in its own repo?): https://github.com/MatiasHiltunen/zed-eon

Reviewed with Claude Opus 4.6 locally. Implemented with Codex-5.3.

Add `crates/eon_lsp` — a language server for Eon built on tower-lsp
that provides:
- Diagnostics on open/change/save via eon_syntax
- Document formatting via eon::reformat
- Keyword and context-aware map-key completions
- Document symbols for map keys

Add stdin/stdout support to eonfmt: passing "-" as the file argument
reads from stdin and writes formatted output to stdout, enabling use
as an editor formatter (Helix, Neovim) and in Unix pipelines.

Add CI workflows:
- eon_zed_extension.yml: tree-sitter grammar tests and WASM
  extension build check
- eon_lsp_release.yml: cross-platform binary releases for
  macOS, Linux, and Windows

Also extend example.eon with additional entries.

Made-with: Cursor
@MatiasHiltunen
Copy link
Author

Zed extension with formatter:

image

Helix editor using the tree-sitter-lsp and the formatter
image

@MatiasHiltunen
Copy link
Author

@emilk Would you mind checking this? :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant