Commit Graph

134 Commits

Author SHA1 Message Date
Valdemar Lorenzen de6a57e67d feat: add configurable three-pane conflict views 2026-10-16 18:53:01 +02:00
Valdemar Lorenzen 6ae8bf06a8 feat: resolve local review comments manually 2026-10-16 18:53:01 +02:00
Valdemar Lorenzen b558f82094 feat: persist local reviews automatically in SQLite 2026-10-16 18:53:01 +02:00
Valdemar Lorenzen 2259d61633 feat: anchor review comments to precise text ranges 2026-10-16 18:52:59 +02:00
Valdemar Lorenzen 4cc0453344 fix: retain selections and float local review editors 2026-10-16 18:52:58 +02:00
Valdemar Lorenzen d67b874b87 fix: preserve Visual selections through command entry 2026-10-16 18:52:57 +02:00
Valdemar Lorenzen 0446ec86c7 feat: add local diff review workflow 2026-10-16 18:52:57 +02:00
Valdemar Lorenzen 930735c537 fix: distinguish Ctrl+I from Tab in comparisons 2026-10-16 18:52:57 +02:00
Valdemar Lorenzen a664b807b3 feat: show line change counts in diff tabs 2026-10-16 18:52:56 +02:00
Valdemar Lorenzen d1048df345 refactor: name configurable viewport scroll steps accurately 2026-10-16 18:52:53 +02:00
Valdemar Lorenzen 284ddd3713 feat: configure half-page viewport scroll distance 2026-10-16 18:52:52 +02:00
Valdemar Lorenzen 5a8c37b2f2 fix: coalesce rapid viewport scrolling redraws 2026-10-16 18:52:51 +02:00
Valdemar Lorenzen 08fdf2bd0f feat: scroll viewport independently of the cursor 2026-10-16 18:52:50 +02:00
Valdemar Lorenzen 1df9e66cd5 fix: retain semantic colors across editable diff updates 2026-10-16 18:52:50 +02:00
Valdemar Lorenzen c32d4a7590 feat: refresh diffs when selected jj bookmarks move 2026-10-16 18:52:49 +02:00
Valdemar Lorenzen 3a7e2074b4 fix: move word search activation onto its match 2026-10-16 18:52:45 +02:00
Valdemar Lorenzen f5c6d098f8 fix: retain current occurrence when submitting search 2026-10-16 18:52:44 +02:00
Valdemar Lorenzen adc44d22db fix: clear search highlighting on Normal escape 2026-10-16 18:52:44 +02:00
Valdemar Lorenzen de62467208 fix: highlight all search matches before word navigation 2026-10-15 12:16:14 +02:00
Valdemar Lorenzen 7b3b3866fd feat: add Vim-style word search 2026-10-15 12:12:11 +02:00
Valdemar Lorenzen 5396968b08 fix: clarify conflict pane roles and status indicators
Use Resolution and Other version borders, omit branch/path metadata,
and show unsaved output state only on the writable pane. Track native
explorer conflict C from authoritative jj state across draft/check/error
transitions and clear it only after confirmed resolution.

Focused resolver and save tests pass; live terminal labels and explorer
verified without saving the mock conflicts. Full library run: 795 pass,
one unrelated async plugin fixture_barrier startup failure.
2026-10-15 11:19: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 f26237af78 perf: batch queued cursor navigation events 2026-10-14 15:32:52 +02:00
Valdemar Lorenzen 1cb9a0ddfc fix: retain repository status between picker openings 2026-10-14 14:56:55 +02:00
Valdemar Lorenzen 0000089f42 feat: stream newest pull requests by category 2026-10-14 14:26:22 +02:00
Valdemar Lorenzen af6496bd5a feat: browse GitHub GitLab and Gitea pull requests 2026-10-14 13:40:43 +02:00
Valdemar Lorenzen c5f80f27a6 fix: replace selected ranges instead of ignoring visual paste 2026-10-14 13:13:01 +02:00
Valdemar Lorenzen 5580d6fbd4 refactor: share language IDs with indentation configuration 2026-10-14 13:12:50 +02:00
Valdemar Lorenzen 6a43fb9e0c feat: configure spaces on Tab per language 2026-10-14 13:12:46 +02:00
hl-valdemar cd427f74dc fix: replace selected characters with visual r 2026-10-14 00:09:42 +02:00
hl-valdemar 11b31d2621 feat: dim whitespace markers and configure scope and newlines 2026-10-13 23:33:42 +02:00
hl-valdemar 2357b5be46 feat: add configurable whitespace markers 2026-10-13 22:58:18 +02:00
hl-valdemar e2f33519d1 feat: add opt-in trailing whitespace highlighting 2026-10-13 22:53:32 +02:00
hl-valdemar b58fb085a3 feat: configure cursor distance from viewport edges 2026-10-13 22:42:23 +02:00
hl-valdemar 00628e0efd fix: stop hiding cached gutter markers while edits refresh 2026-10-13 22:10:03 +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
hl-valdemar e84d70463f feat: add counted word change actions
Add cw/cb and configurable core actions using the same line-local spans as dw/db. Enter Insert with grouped replacement undo and native dot repeat.
2026-10-13 17:43:13 +02:00
hl-valdemar 983f43e710 fix: keep counted word deletions within the current line
Word deletion reused cross-line word motion destinations. Constrain token traversal and boundary fallbacks to each caret’s current row while preserving cross-line navigation.
2026-10-13 17:35:09 +02:00
hl-valdemar 99fa5a2aff feat: track checkout identity for pinned diff editability 2026-10-13 17:28:59 +02:00
hl-valdemar 9d6a0eaeca feat: align buffer picker with editor UI 2026-10-13 16:31:53 +02:00
Valdemar Lorenzen f5ba61624f feat: add a searchable buffer picker 2026-10-13 14:30:36 +02:00
Valdemar Lorenzen bfdb7c544f feat: follow forward working-checkout changes in diffs 2026-10-13 13:49:10 +02:00
Valdemar Lorenzen b16232aa1d feat: jump to a line with counted g 2026-10-13 13:32:42 +02:00
Valdemar Lorenzen 8f87b8d3d1 feat: toggle diff file review with c in the file picker 2026-10-13 13:18:40 +02:00
Valdemar Lorenzen 38fcf86195 feat: mark diff files as reviewed 2026-10-13 13:16:57 +02:00
Valdemar Lorenzen c912abaf17 fix: yank whole lines with yy and preserve paste shape 2026-10-13 13:04:48 +02:00
Valdemar Lorenzen c4f72a45ba fix: center LSP definition destinations in the viewport 2026-10-13 12:56:52 +02:00