Commit Graph

35 Commits

Author SHA1 Message Date
Valdemar Lorenzen 930735c537 fix: distinguish Ctrl+I from Tab in comparisons 2026-10-16 18:52:57 +02:00
Valdemar Lorenzen d1048df345 refactor: name configurable viewport scroll steps accurately 2026-10-16 18:52:53 +02:00
Valdemar Lorenzen 5a8c37b2f2 fix: coalesce rapid viewport scrolling redraws 2026-10-16 18:52:51 +02:00
Valdemar Lorenzen 1df9e66cd5 fix: retain semantic colors across editable diff updates 2026-10-16 18:52:50 +02:00
Valdemar Lorenzen 168e12160a refactor: route conflict resolution through the diff workspace
Use the active DiffState, native FilePicker and existing diff input,
layout, focus, source navigation and scrolling paths for Resolution.
Delete separate resolver filtering, file-list rendering and scroll APIs.
Keep projections, source choices, History and guarded jj saves distinct.

Verify native parity for picker remaps, current-file selection, excerpt
initialization, folded search, wheel focus, layouts, buffer transitions
and per-file viewports. All 932 tests pass; actual terminal smoke covers
Space-e explorer, Down/Enter file selection and guarded confirmed save.
Clippy completes with existing warnings only.

Size exception: 1197 implementation added/deleted lines excluding tests
and docs; input routing, native buffer lifecycle and rendering are kept
as one coherent cutover, without a parallel legacy resolver path.
2026-10-15 10:21:10 +02:00
Valdemar Lorenzen ef4c38d8a7 feat: resolve conflicts through focused two-way drafts
Replace the marker-filled three-pane resolver with a marker-free native
Draft versus frozen Alternative projected from current working text.
Preserve preexisting outside edits, native undo, dirty-save guards, all
sides/bases, and draft caret/viewports across separate History views.
Reuse DiffState alignment/highlighting/excerpts for Resolution and merge
its base-aligned rows for readonly three-way History. Hide explorer and
source-selector chrome by default.

Verified 926 tests plus actual terminal projection, History highlighting,
hunk choice, optional explorer, and guarded jj-confirmed save workflows.
Clippy completes with pre-existing warnings only. Smoke fixtures stay
unresolved in this ancestry; remove that ancestry before publication.

Size exception: approximately 1650 implementation added/deleted lines,
excluding tests/docs, kept coherent because native draft lifecycle and
aligned rendering must change together without parallel legacy modes.
2026-10-14 17:01:45 +02:00
Valdemar Lorenzen a3aef713e2 feat: resolve current jj working-copy conflicts
Add a dedicated native resolver workspace with all side/base inputs,
shared editable Results, region choices, retained per-file status,
responsive rendering, and explicit nontext file choices.

Guard writes with jj working-copy locking, frozen checkout identity,
exact disk baselines, native dirty-buffer protection, and asynchronous
jj snapshot/status confirmation. Historical comparisons remain readonly.

Verified all 916 tests and live isolated terminal workflows covering text
regions, narrow layouts, binary bytes and symlink targets/types.
Clippy completes with pre-existing warnings only.

Size exception: 2614 implementation additions/deletions excluding tests
and docs. Native workspace integration, explicit file choices and the
safe save/check operation are retained as one complete behavioral slice.
2026-10-14 16:04:15 +02:00
Valdemar Lorenzen dcfa50319c fix: preserve lazy snapshots for conflicted jj revisions
Conflicted revisions read every file through jj file show, which returns
empty output for symlinks and causes repository-wide subprocess fanout.
Keep ordinary Git blob sources and immutable identities; render only
selected conflicted paths through jj.

Verified all 905 tests and the original local bookmark comparison with
25 correct paths in 0.522s, plus actual terminal conflict viewing.
Strict Clippy is blocked by existing diagnostics outside this change.
2026-10-14 15:49:26 +02:00
Valdemar Lorenzen f26237af78 perf: batch queued cursor navigation events 2026-10-14 15:32:52 +02:00
hl-valdemar 9526876b04 feat: show repository changes in normal file pickers 2026-10-13 21:46:53 +02:00
hl-valdemar 55cdee1a13 feat: add Git and Jujutsu gutter indicators 2026-10-13 20:46:44 +02:00
Valdemar Lorenzen 1b8b669ca0 feat: preserve diff context during LSP navigation 2026-10-12 14:27:16 +02:00
Valdemar Lorenzen 52915ffacf feat: redesign status chrome and floating prompts 2026-10-12 12:55:17 +02:00
Valdemar Lorenzen 8c6a050171 feat: show live battery charge by default 2026-10-12 12:11:19 +02:00
Valdemar Lorenzen 0d3fbc01f8 feat: configure interchangeable top and bottom bars 2026-10-12 11:59:59 +02:00
Valdemar Lorenzen 4cfd068f1c feat: configure chrome segments and anchor groups 2026-10-12 11:35:14 +02:00
Valdemar Lorenzen fc382529c5 feat: add editor tabs 2026-10-12 09:41:28 +02:00
hl-valdemar ffdd42fcce fix: refresh diff colors on terminal theme changes 2026-10-11 21:28:02 +02:00
hl-valdemar db5d417a17 feat: add syntax-aware diff backgrounds and diagonal gap shading 2026-10-11 01:26:56 +02:00
hl-valdemar 2f595ca4ca feat: toggle diff explorer and show file change indicators 2026-10-11 01:03:52 +02:00
hl-valdemar 83c37f5a19 feat: reuse the docked file tree for diff navigation 2026-10-11 00:27:33 +02:00
hl-valdemar 81a2bf9a02 feat: add local and remote repository diff views 2026-10-11 00:08:58 +02:00
hl-valdemar dc0bdd60d0 feat: enlarge floating hover and highlight Markdown content 2026-10-10 16:19:51 +02:00
hl-valdemar 99028daa9d fix: stage complete frames before suspending terminal presentation 2026-10-10 05:05:01 +02:00
hl-valdemar 6152ae6d36 fix: avoid redraw backlogs during rapid mouse scrolling 2026-10-10 01:52:36 +02:00
hl-valdemar d8e2425c65 feat: scroll viewports with mouse wheel without moving the caret 2026-10-10 01:39:44 +02:00
hl-valdemar 455108a909 perf: fast-path grapheme counts and cache terminal layouts 2026-10-10 00:52:35 +02:00
hl-valdemar 05c044bd02 fix: hide the painting cursor and synchronize terminal frames 2026-10-10 00:19:23 +02:00
hl-valdemar 9a96706c36 feat: navigate jump history with Ctrl+o and Ctrl+i 2026-10-09 23:32:14 +02:00
hl-valdemar 2264dcb6e9 feat: follow Markdown file links and heading fragments 2026-10-09 23:19:21 +02:00
hl-valdemar d418d670ee feat: enable LSP semantic token highlighting by default 2026-10-09 22:44:55 +02:00
hl-valdemar 548711980c feat: preconfigure Python with Astral ty and Ruff 2026-10-09 22:11:37 +02:00
hl-valdemar 2c3c73e5b9 refactor: align Ruby host with RuboCop while retaining double quotes 2026-10-09 20:58:16 +02:00
hl-valdemar bbb61c2fdd docs: annotate Ruby configuration and plugin APIs with YARD types 2026-10-09 20:29:37 +02:00
hl-valdemar 9629655206 docs: split README into audience-focused guides 2026-10-09 20:17:54 +02:00