diff options
| author | Gabriel Schneider <[email protected]> | 2026-07-30 23:35:45 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-08-01 15:02:07 -0300 |
| commit | 19f7322100062b7c1adcde3376063ce6c1d8c72d (patch) | |
| tree | b76347dffe0347c29a38b4cad6031678683dba74 /docs/lsp.md | |
| parent | 753d5451ca7d09dbc5ff44f3c2dcf9a47fb87f96 (diff) | |
| download | pardes-19f7322100062b7c1adcde3376063ce6c1d8c72d.tar.gz pardes-19f7322100062b7c1adcde3376063ce6c1d8c72d.zip | |
structure: backends into src/{tty,gui,lsp}, pane kinds and builtins into their own files
The core now lies FLAT at src/ and every subdirectory is one backend, so a
file being in no directory at all is what says it is core. Pane-kind bodies
leave pardes.zig for term_pane.zig / file_pane.zig / output_pane.zig, leaving
it the layout, the event/effect machine and the generic render loop.
Builtins are one struct each in builtins.zig, and the enum is folded out of
the file's own declaration list at comptime — a zig file IS a struct, so the
list of builtins and the builtins themselves are the same text. Adding one is
writing a struct. Key paths deliberately stay one table for the config pass.
Pure refactor: no golden moved.
Diffstat (limited to 'docs/lsp.md')
| -rw-r--r-- | docs/lsp.md | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/docs/lsp.md b/docs/lsp.md index 2a4c8784..91d07231 100644 --- a/docs/lsp.md +++ b/docs/lsp.md @@ -5,7 +5,7 @@ Three things landed together, and only the first two are permanent: 1. **An async execution model.** The core stays a state machine; slow work goes to a worker and comes back as an event. 2. **A helix-exact keymap** for every LSP command. -3. **A seam** (`src/lsp.zig`) with exactly one function behind it, so competing +3. **A seam** (`src/lsp/lsp.zig`) with exactly one function behind it, so competing backends can be swapped, measured, and thrown away. ## The async model @@ -126,7 +126,7 @@ document — which matters precisely when the pane you are in is the problem. ## Writing a backend -`src/lsp.zig` is the seam. An implementation supplies three things and touches +`src/lsp/lsp.zig` is the seam. An implementation supplies three things and touches nothing else: ```zig |
