- Close terminal buffer before opening describe editor
- Capture log state before closing to detect if we should reopen
- Add on_unload callback to editor to handle log reopening
- Suppress redraws during buffer transitions with lazyredraw
- Remove duplicate hardcoded status keymaps from terminal.lua (were referencing undefined functions)
- Fix resolve_keymaps_from_specs to validate handlers exist before creating keymaps
- Add M.setup() to cmd module for configuration
- Move describe editor config to M.config.describe.editor with nested structure
- Add keymaps config with separate log, status, and close sections
- Implement resolve_keymaps_from_specs() helper to build keymap lists from config
- Extract editor.open_editor() keymaps parameter support
- Move status/log event handlers from terminal.lua to cmd.lua
- Convert log/status buffer keymaps to config-driven approach with handler specs
- Replace nested if/elseif chains with dispatch table for cleaner pattern matching
- Store remaining_args_str to avoid repeated table.concat() calls
- Simplify whitespace trimming using vim.trim() instead of gsub patterns
- Add state.buf_cmd tracking to store subcommand on successful execution for conditional UI refreshes
- Clean up state on buffer close and execution failure
- Add conditional log refresh for squash(), undo(), and redo() when log buffer is active
- Fix type annotations for nil handling