Commit Graph

97 Commits

Author SHA1 Message Date
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 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 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
hl-valdemar cd427f74dc fix: replace selected characters with visual r 2026-10-14 00:09:42 +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
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 c912abaf17 fix: yank whole lines with yy and preserve paste shape 2026-10-13 13:04:48 +02:00
Valdemar Lorenzen 5382307fcc feat: rank fuzzy revision and reference searches in diff selectors 2026-10-13 12:20:00 +02:00
Valdemar Lorenzen d7fbf9a144 feat: add normal-mode change yank replace and word delete actions 2026-10-13 11:03:20 +02:00
Valdemar Lorenzen 6c254f9b0d feat: default diffs to branch changes 2026-10-13 10:48:24 +02:00
hl-valdemar c35abe0f03 fix: retain alternate screen across executable restart 2026-10-12 23:40:51 +02:00
hl-valdemar d85998e1cb feat: add guarded and forceful editor restart actions 2026-10-12 23:40:51 +02:00
Valdemar Lorenzen d64704d4eb style: show only jj change IDs in revision labels 2026-10-12 15:42:58 +02:00
Valdemar Lorenzen 054225686e fix: restore tab and diff context through jump history 2026-10-12 15:04: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 fc382529c5 feat: add editor tabs 2026-10-12 09:41:28 +02:00
hl-valdemar 2e05725a38 perf: avoid eager diff loading and full-file typing work 2026-10-11 15:54:42 +02:00
hl-valdemar 0ca0d89b9e feat: add counted forward and backward character seek motions 2026-10-11 12:52:08 +02:00
hl-valdemar 5186714ef5 feat: enable native readonly diff interaction and synchronized pane cursors 2026-10-11 12:34:38 +02:00
hl-valdemar 86d22d4fa2 fix: skip omitted diff lines instead of expanding excerpts during navigation 2026-10-11 03:17:21 +02:00
hl-valdemar 54bb196192 refactor: derive canonical commands from core actions and centralize aliases 2026-10-11 02:57:10 +02:00
hl-valdemar 9a34669c08 feat: edit working-checkout comparisons with normal editor actions 2026-10-11 02:44:24 +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 f6da7922a1 fix: defer diagnostic display until leaving Insert mode 2026-10-11 00:08:58 +02:00
hl-valdemar 232be6a032 feat: expand completion snippets and navigate placeholders 2026-10-10 19:42:29 +02:00
hl-valdemar b6059d5ed9 feat: add live-cycling LSP completion 2026-10-10 18:48:45 +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 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
Valdemar Lorenzen dbafaf6266 refactor: use dotted LSP command names 2026-10-09 17:07:29 +02:00
Valdemar Lorenzen be6be22b76 refactor: nest Ruby LSP actions under core.lsp 2026-10-09 14:57:27 +02:00
Valdemar Lorenzen f093091002 feat: add native LSP hover action and popup 2026-10-09 14:48:25 +02:00
Valdemar Lorenzen 529d1fd5b3 feat: expose typed core LSP binding actions 2026-10-09 14:29:58 +02:00
Valdemar Lorenzen 30aa70672e feat: migrate LSP to opt-in native language servers 2026-10-09 13:58:57 +02:00
Valdemar Lorenzen 92679ecbe1 feat: add asynchronous LSP plugin diagnostics and definitions 2026-10-09 12:25:25 +02:00