Commit Graph

173 Commits

Author SHA1 Message Date
Valdemar Lorenzen a5a246db77 feat: copy diff review comments to configured clipboard 2026-10-20 16:28:53 +02:00
Valdemar Lorenzen eae3bdba16 fix: clip inline blame instead of hiding long metadata
The full-label width check hid current-line attribution when only part of the commit metadata fit. Render into the remaining cells without covering source text; preserve offscreen and no-space guards.
2026-10-20 16:28:53 +02:00
Valdemar Lorenzen 4fb1be7972 fix: show revision-aware blame in diff buffers
Diff and snapshot sources were excluded before scheduling, and the separate diff renderer never painted attribution. Capture per-side Git provenance, preserve private object stores for historical tabs, and reuse the current-line worker and cache.
2026-10-20 16:28:53 +02:00
Valdemar Lorenzen 8f8d96ead9 fix: key review checkmarks by file snapshots instead of revision pairs 2026-10-20 16:28:53 +02:00
hl-valdemar ea04e30072 feat: persist diff file review checkmarks 2026-10-19 19:04:14 +02:00
hl-valdemar b062a79bb5 refactor: normalize review and comment storage 2026-10-18 10:44:48 +02:00
hl-valdemar 3c270ed7b5 feat: delete local review comments from CLI 2026-10-18 10:44:48 +02:00
hl-valdemar d8cfd27ee6 fix: place command status left of battery as a separate segment 2026-10-18 01:42:40 +02:00
hl-valdemar e310b76794 fix: honor configured wrap bindings in shell output 2026-10-18 01:31:35 +02:00
hl-valdemar 074df97c02 feat: toggle wrapping in shell output windows 2026-10-18 01:28:26 +02:00
hl-valdemar a5f92452b3 feat: run shell commands asynchronously from command mode 2026-10-18 00:38:37 +02:00
hl-valdemar 0a01d9a361 feat: cycle command completions backward with Shift+Tab 2026-10-17 18:29:11 +02:00
hl-valdemar 5d75964ee2 feat: cycle command completions with Tab 2026-10-17 18:20:04 +02:00
hl-valdemar 5697a08c0a feat: navigate command and search input history 2026-10-17 01:56:02 +02:00
hl-valdemar 2cb3736b92 fix: save review comments only on explicit write 2026-10-17 01:50:22 +02:00
hl-valdemar e9a757adc5 feat: wrap diff review comments by default 2026-10-17 01:36:41 +02:00
hl-valdemar d8be35e3bd fix: route normal-mode cuts through clipboard pipeline 2026-10-17 00:50:00 +02:00
hl-valdemar b9f29d258c fix: support large files in comparisons
Replace the 16 MiB comparison rejection with independent bounded per-side loading and frozen Working blobs. Bound diff computation, defer large inline highlighting, index source-row navigation, and expose actual load failures. Verified the real 52.3 MB parser through repository/session APIs and terminal rendering with EOF/start navigation.
2026-10-17 00:46:15 +02:00
hl-valdemar adbd2c3f81 fix: keep large-file editing responsive
Bound synchronous full-source syntax parsing, cache dirty comparisons, edit ordinary inline changes in place, retain changed-row undo history, and buffer atomic saves. Skip repository snapshots beyond existing worker limits before copying their text.
2026-10-16 21:16:53 +02:00
hl-valdemar 02d1422a04 feat: add Honey syntax highlighting 2026-10-16 20:51:17 +02:00
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 5b8f8c3f07 refactor: remove legacy review JSON migration 2026-10-16 18:52:59 +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 c689d9e782 fix: retain numbered declarations in reserved sticky rows 2026-10-16 18:52:56 +02:00
Valdemar Lorenzen 7b950210b8 fix: preserve visible declaration names under scope overlays 2026-10-16 18:52:55 +02:00
Valdemar Lorenzen d654522ad4 fix: hide clipped scope labels at the pane top 2026-10-16 18:52:55 +02:00
Valdemar Lorenzen 682427324d fix: overlay clipped scope labels without reflow 2026-10-16 18:52:54 +02:00
Valdemar Lorenzen e37fa509c9 feat: reuse fuzzy search in the file picker 2026-10-16 18:52:53 +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 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 a3be494d57 fix: serialize absent jj bookmark targets as null 2026-10-16 18:52:49 +02:00
Valdemar Lorenzen c32d4a7590 feat: refresh diffs when selected jj bookmarks move 2026-10-16 18:52:49 +02:00
Valdemar Lorenzen 1a02502488 feat: mark fully checked collapsed diff folders 2026-10-16 18:52:48 +02:00
Valdemar Lorenzen a93afc7d16 fix: hide diff scope labels for visible declarations
The visible declaration already provides scope context. Cache the actual
identifier point separately from the declaration extent/decorators and hide
labels when it is visible in that side of the projected viewport.

Refill reclaimed rows and anchor carets against the resulting layout.
Retain sticky context when the symbol scrolls or wraps out of view.

Verified: 951 tests passed, cargo build, and real PTY smoke for declaration
visibility/scroll restoration, wrapping, horizontal clipping, unified view,
and short horizontal-pane caret reflow.
2026-10-16 18:52:48 +02:00
Valdemar Lorenzen 39fd3a669b fix: avoid repeated scope labels within diff excerpts
Compare each side with its preceding source row within the same excerpt,
not the adjacent aligned pair: alignment holes must not restart labels.
Retain sticky context independently on each side, including leading holes.

Regression: merged Python insert/delete hunks emitted five labels instead
of one. Verify deduplication, folded excerpt restart, and sticky-gap context.

Verified: cargo test (950 passed), cargo build, and real PTY smoke covering
split/unified, wrap, sticky gaps, and a short horizontal pane source caret.
2026-10-16 18:52:47 +02:00
Valdemar Lorenzen a43094dda3 feat: show diff hunk scope labels
Show per-side Tree-sitter scope paths inline and as sticky continuation labels.
Keep presentation rows out of source coordinates, selections, and edits.

Verified: cargo test (949 passed), cargo build, and real PTY smoke covering
split/unified, wrapping, both split axes, sticky scrolling, live rename and undo.

Size exception: 549 implementation lines added plus deleted, excluding tests
and docs. Keep syntax extraction and coordinate-safe rendering together as one
working behavior.
2026-10-16 18:52:46 +02:00
Valdemar Lorenzen 75dc31b66f fix: avoid indentation-only wrapped rows
The shared wrapper treated leading whitespace as a usable word boundary,
pushing a long first token onto a continuation and leaving a numbered blank row.
Only record boundaries after non-whitespace content on the current visual row.
Preserve source whitespace, tab stops, caret rows and paired diff alignment.

Verified: 945 tests, formatting, and live ordinary/split-diff fixture smoke,
including wrap off/on and aligned closing brackets.
2026-10-16 18:52:46 +02:00
Valdemar Lorenzen 16490942d6 fix: coalesce fragmented word-diff highlights 2026-10-16 18:52:45 +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