refactor(main): update headless mode to use App and new command system

Update headless command execution to use the new architecture:

- Removed CommandResult import (no longer needed)
- Headless mode now creates an App instance and uses cmd_context()
- Commands are parsed and executed via the registry, effects applied
  through app.apply_effects() instead of command::dispatch()
- Made cmd_context() public so headless mode can access it
- Updated persistence save to use app.model instead of direct model

Tests updated to use ExecuteCommand instead of QuitCmd, with proper
buffer setup for command parsing.

Co-Authored-By: fiddlerwoaroof/git-smart-commit (unsloth/Qwen3.5-35B-A3B-GGUF:Q5_K_M)
This commit is contained in:
Edward Langley
2026-04-04 10:56:35 -07:00
parent 00c62d85b7
commit 32716ebc16
2 changed files with 17 additions and 16 deletions

View File

@ -99,7 +99,7 @@ impl App {
}
}
fn cmd_context(&self, key: KeyCode, mods: KeyModifiers) -> CmdContext<'_> {
pub fn cmd_context(&self, key: KeyCode, mods: KeyModifiers) -> CmdContext<'_> {
let view = self.model.active_view();
CmdContext {
model: &self.model,