diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/helix-keys.md | 6 | ||||
| -rw-r--r-- | docs/lsp-evaluation.md | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/docs/helix-keys.md b/docs/helix-keys.md index 2aff75cd..da969574 100644 --- a/docs/helix-keys.md +++ b/docs/helix-keys.md @@ -37,8 +37,10 @@ layer: gap offsets + ranges over the flat text). Differential harness: cursor when the selection is implicit motion residue. Mode is reported "select" ONLY while `v` extend mode is on (helix keeps mode normal for x/%/mi-created selections). -- **Columns are byte offsets** (`cur_col`). ASCII-only harness cases - sidestep this; real UTF-8 parity is out of scope. +- **Stored columns are UTF-8 byte offsets** (`cur_col`), but every modal + cursor/range endpoint is snapped to an extended-grapheme boundary. Rendering, + mouse input and vertical motion translate those offsets through terminal-cell + widths, so combining sequences and wide glyphs remain single cursor cells. - **Terminal panes: shell output is immutable.** Edit ops only ever drop/alter typed insertion runs. All "To implement" edit ops follow the same rule (motion/selection parts work on the full motion surface; the diff --git a/docs/lsp-evaluation.md b/docs/lsp-evaluation.md index 60e1442f..55049ec6 100644 --- a/docs/lsp-evaluation.md +++ b/docs/lsp-evaluation.md @@ -118,7 +118,7 @@ second process, and its weakest number is a cache that does not exist rather than a limit that cannot be lifted. The one thing that should override that: **pardes ships tree-sitter grammars for -26 languages.** C is Zig-only forever; B is the only implementation that will +27 languages.** C is Zig-only forever; B is the only implementation that will ever answer `gd` in a Rust or Go buffer. If language intelligence is meant to follow the syntax highlighting, B is the strategic choice and its 721 lines are the cheapest multi-language client anyone will write. |
