alpha
Login
or
Join now
isaaccorbrey.com
/
fresnel
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
A legibility-first code editor.
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
fresnel
/
app
2 folders
6 files
at
main
Isaac Corbrey
app: render block cursor when it sits on a line terminator
10d ago
a92b2b8d
src
app: render block cursor when it sits on a line terminator When the cursor lands on a '\n' — reachable in normal Helix use by pressing l past the last visible char of a line — the wire contract reports cursor_start=N cursor_end=N+1 with text[N]=='\n'. My renderer emitted <span class="cursor">\n</span> which inside <pre> renders as a plain line break with no visible highlight glyph. Fix: when the cursor grapheme is a line terminator, substitute a non-breaking space inside the span for the highlight, then emit the actual newline as plain text so the line still breaks. Same treatment for empty slice (cursor past EOF). Also fix insert-mode caret in the same scenario: a border-left on a '\n' has no glyph to attach to, so switch to the caret-eof zero-width marker when the char under the caret is a line terminator. Rust-side regression test cursor_can_sit_on_line_terminator_after_moving_ past_last_char pins the wire contract so future rendering work can trust that (cursor_start..cursor_end) may span exactly a '\n'.
1 week ago
src-tauri
app: route DOM keydown through the real Helix keymap The frontend's ad-hoc key-to-command map is gone — a DOM KeyboardEvent gets translated to Helix's key-event format (arrow keys, esc, C-w, S-tab) and handed to the new editor_key command. The response carries the KeymapResult outcome and a fresh Snapshot; the UI renders mode, count, and any pending keystrokes so multi-key sequences are visible in-flight. Named-key translation lives in a NAMED_KEYS table; anything else falls through to the character path so Shift-encoded uppercase and punctuation work without special-casing. Cmd/browser-reserved chords stay unhandled so DevTools and reload keep working.
1 week ago
index.html
app: render block cursor when it sits on a line terminator When the cursor lands on a '\n' — reachable in normal Helix use by pressing l past the last visible char of a line — the wire contract reports cursor_start=N cursor_end=N+1 with text[N]=='\n'. My renderer emitted <span class="cursor">\n</span> which inside <pre> renders as a plain line break with no visible highlight glyph. Fix: when the cursor grapheme is a line terminator, substitute a non-breaking space inside the span for the highlight, then emit the actual newline as plain text so the line still breaks. Same treatment for empty slice (cursor past EOF). Also fix insert-mode caret in the same scenario: a border-left on a '\n' has no glyph to attach to, so switch to the caret-eof zero-width marker when the char under the caret is a line terminator. Rust-side regression test cursor_can_sit_on_line_terminator_after_moving_ past_last_char pins the wire contract so future rendering work can trust that (cursor_start..cursor_end) may span exactly a '\n'.
1 week ago
package.json
app: scaffold Tauri shell rendering a fresnel-core buffer Trivial vertical slice: a Tauri command backed by fresnel-core's helix_core::Rope-backed Buffer, invoked from a Vite/TypeScript frontend. Proves the Cargo workspace + Tauri IPC + frontend pipeline works before wiring up LSP, jj, or helix-term's commands/keymap. helix-term isn't depended on yet — see PLAN.md's Phase 1 notes for the dsymutil grammar-build issue found while investigating it.
1 week ago
pnpm-lock.yaml
app: scaffold Tauri shell rendering a fresnel-core buffer Trivial vertical slice: a Tauri command backed by fresnel-core's helix_core::Rope-backed Buffer, invoked from a Vite/TypeScript frontend. Proves the Cargo workspace + Tauri IPC + frontend pipeline works before wiring up LSP, jj, or helix-term's commands/keymap. helix-term isn't depended on yet — see PLAN.md's Phase 1 notes for the dsymutil grammar-build issue found while investigating it.
1 week ago
pnpm-workspace.yaml
app: scaffold Tauri shell rendering a fresnel-core buffer Trivial vertical slice: a Tauri command backed by fresnel-core's helix_core::Rope-backed Buffer, invoked from a Vite/TypeScript frontend. Proves the Cargo workspace + Tauri IPC + frontend pipeline works before wiring up LSP, jj, or helix-term's commands/keymap. helix-term isn't depended on yet — see PLAN.md's Phase 1 notes for the dsymutil grammar-build issue found while investigating it.
1 week ago
tsconfig.json
app: scaffold Tauri shell rendering a fresnel-core buffer Trivial vertical slice: a Tauri command backed by fresnel-core's helix_core::Rope-backed Buffer, invoked from a Vite/TypeScript frontend. Proves the Cargo workspace + Tauri IPC + frontend pipeline works before wiring up LSP, jj, or helix-term's commands/keymap. helix-term isn't depended on yet — see PLAN.md's Phase 1 notes for the dsymutil grammar-build issue found while investigating it.
1 week ago
vite.config.ts
app: scaffold Tauri shell rendering a fresnel-core buffer Trivial vertical slice: a Tauri command backed by fresnel-core's helix_core::Rope-backed Buffer, invoked from a Vite/TypeScript frontend. Proves the Cargo workspace + Tauri IPC + frontend pipeline works before wiring up LSP, jj, or helix-term's commands/keymap. helix-term isn't depended on yet — see PLAN.md's Phase 1 notes for the dsymutil grammar-build issue found while investigating it.
1 week ago