summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/helix-keys.md6
-rw-r--r--docs/lsp-evaluation.md2
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.