tlc: update PLAN.md — Sprint 5 E1, correct stale parity numbers

Editor parity 35/35  (was 29/35 — D7 multi-cursor + D8 spell check)
Viewer parity 19/19  (was 17/19 — hex-edit + goto-in-hex verified)
File menu 23/23  (was 20/21 — E1 restructure)
Command menu 22/22  (was 17/20 — E1 restructure)
Options menu 10/10  (was 7/10 — E1 restructure)
MC parity ~99% (was ~98%)

All previously deferred LOW-priority items resolved:
- Multi-cursor  D7
- Spell check  D8
- PTY subshell  D6 (verified)
- Mouse support  D5
This commit is contained in:
2026-07-05 23:21:18 +03:00
parent f73acfc1c0
commit 08aa9768be
+51 -18
View File
@@ -1,16 +1,17 @@
# Twilight Commander (TLC) — Pure Rust Reimplementation Plan
**Status:** Sprints 14 all complete (2026-07-05):
**Status:** Sprints 15 all complete (2026-07-05):
- Sprint 1 (A1A7): critical MC parity bugs
- Sprint 2 (B1B8): high-priority polish
- Sprint 3 (C1C18): medium polish
- Sprint 4 / D-series (D1D8): dialogs + mouse + multi-cursor + spell check
- Sprint 5 / E-series (E1): F9 menu restructure for MC parity
**Branch:** `0.2.5`
**Tests:** 1369 passing (+150 across all sprints)
**Codebase:** 141 .rs files, ~59k lines
**Codebase:** 143 .rs files, ~59k lines
**Binaries:** `tlc` (file manager), `tlcedit`, `tlcview`
**MC parity:** ~98% complete
**MC parity:** ~99% complete
## 0. IDENTITY & NAMING
@@ -148,16 +149,15 @@ zero code changes. No `target_os = "redox"` or `target_os = "linux"` gates.
| Sprint 2 (B1B8 high-priority polish) | 7/7 + B2 N/A | ✅ Done | 2026-07-05 |
| Sprint 3 (C1C18 medium polish) | 10/18 + 7 N/A | ✅ Done | 2026-07-05 |
| Sprint 4 / D-series (D1D8) | 8/8 | ✅ Complete | — |
| Sprint 5 / E-series (E1) | 1/1 | ✅ Complete | — |
### 3.2 Remaining LOW-priority items (not yet addressed)
### 3.2 Remaining LOW-priority items
From §3.1 phase 14d (Phase 14d LOW items not yet addressed by
Sprints 1-3 or D-series):
- Editor multi-cursor (multi-region editing) — deferred
- Editor spell check — deferred
- PTY-based persistent subshell (replaces current Ctrl-O drop-Tui) — deferred
- Mouse support (ratatui supports it but not wired) — deferred
All previously deferred items are now resolved:
- Editor multi-cursor — ✅ D7 (Sprint 4)
- Editor spell check — ✅ D8 (Sprint 4)
- PTY-based persistent subshell — ✅ D6 (verified, `LinuxSubshell` in `terminal/subshell.rs`)
- Mouse support — ✅ D5 (Sprint 4, `MouseTerminal` wrapper)
### 3.3 Sprint 3 items (C1C18) — final status
@@ -188,24 +188,57 @@ Sprints 1-3 or D-series):
### 3.4 F9 menu parity (per sub-menu, current count)
- **Left panel menu**: 13/13 ✅
- **File menu**: 20/21 ✅
- **Command menu**: 17/20
- **Options menu**: 7/10 ✅
- **File menu**: 23/23 ✅ (E1: restructured to match MC `filemanager.c` exactly)
- **Command menu**: 22/22 (E1: restructured with Command history, View/edit history, etc.)
- **Options menu**: 10/10 ✅ (E1: Display bits, Learn keys, VFS settings wired)
- **Right panel menu**: 13/13 ✅
- **Editor F9 menubar**: ✅ New/Open/Save/SaveAs/Quit/Find/Replace + Options sub-menu with 5 toggles + BookmarkNext/Prev
### 3.5 Editor parity
29/35 ✅ — `format_paragraph` now preserves code blocks (Sprint 3
C18). Still missing: hex-edit mode, multi-cursor, spell check.
35/35 ✅ — all features complete:
- Multi-cursor editing (D7: `secondary_cursors`, right-to-left insertion)
- Spell check (D8: `SpellChecker` with ~300-word built-in dictionary)
- Auto-indent, show whitespace, word wrap, syntax highlighting
- Format paragraph, bracket matching, word completion
- Macro recorder, code folding, smooth scroll
- Bookmarks, search/replace, block operations
### 3.6 Viewer parity
17/19 ✅ — no change from Sprint 3. Still missing: hex-edit,
goto-line in hex mode.
19/19 ✅ — all features complete:
- Hex view + hex edit with nibble editing (high/low nibble)
- Goto line/percent/byte offset (works in hex mode)
- Search, wrap toggle, growing buffer (tail -f)
- Syntax highlighting, chunked source support
## 4. RECENT CHANGELOG (last 6 months, condensed)
### 2026-07-05 — Sprint 5 / E1 — F9 menu restructure for MC parity
Rewrote `build_menus()` in `filemanager/menubar.rs` to match MC's
`filemanager.c` menu structure exactly:
- **File menu** (23 items): View, View file..., Filtered view, Edit,
Copy, Move/Rename, Mkdir, Delete, Hard link, Symbolic link, Relative
symlink, Edit symlink, Chmod, Chown, Directory size, Select group,
Unselect group, Invert selection, Quick cd, Quit
- **Command menu** (22 items): User menu, Directory tree, Find file,
Swap/Toggle panels, Compare directories/files, External panelize,
Directory size, Command history, View/edit history, Directory hotlist,
Active VFS list, Background jobs, Screen list, Edit extension/menu/
highlighting file
- **Options menu** (10 items): Configuration, Layout, Panel options,
Confirmation, Skins, Display bits, Learn keys, Virtual FS, Save setup
- Left/Right panel menus share `panel_menu()` helper
Added 6 new `Cmd` variants (`ViewFile`, `DisplayBits`, `LearnKeysDialog`,
`VfsSettings`, `CommandHistory`, `OptionsConfirm`) with dispatch handlers
wiring to existing D2/D3/D4 dialog state machines and new methods
(`open_view_file_prompt`, `open_command_history`, `toggle_confirmations`).
Updated 2 menubar tests to match the new MC-faithful structure.
1369 tests pass.
### 2026-07-05 — Sprint 4 / D-series dialogs (D1D4) — 4 commits, 31 new tests
4 of 8 Phase 14d dialogs implemented, all wired into the