feat: Add Vim Mode and Autocomplete Features to Simple Chat

- Implemented vim-style line editing in the simple chat interface, allowing users to navigate and edit text using familiar vim commands.
- Introduced an autocomplete system in the FTXUI chat, providing real-time command suggestions and fuzzy matching for improved user experience.
- Updated documentation to reflect new features and usage instructions for vim mode and autocomplete functionality.
- Enhanced the TUI with autocomplete UI components for better interaction and command input.
This commit is contained in:
scawful
2025-10-06 00:54:15 -04:00
parent 939df9fa3d
commit be571e1b4f
11 changed files with 326 additions and 163 deletions

View File

@@ -174,9 +174,38 @@ The `z3ed` CLI is the foundation for an AI-driven Model-Code-Program (MCP) loop,
### FTXUI Chat (`agent chat`)
Full-screen interactive terminal with table rendering, syntax highlighting, and scrollable history. Best for manual exploration.
**Features:**
- **Autocomplete**: Real-time command suggestions as you type
- **Fuzzy matching**: Intelligent command completion with scoring
- **Context-aware help**: Suggestions adapt based on command prefix
- **History navigation**: Up/down arrows to cycle through previous commands
- **Syntax highlighting**: Color-coded responses and tables
- **Metrics display**: Real-time performance stats and turn counters
### Simple Chat (`agent simple-chat`)
Lightweight, scriptable text-based REPL that supports single messages, interactive sessions, piped input, and batch files.
**✨ New Feature: Vim Mode**
Enable vim-style line editing with `--vim` flag for enhanced terminal UX:
- **Normal mode** (`ESC`): Navigate with `hjkl`, `w`/`b` word movement, `0`/`$` line start/end
- **Insert mode** (`i`, `a`, `o`): Regular text input with vim keybindings
- **Editing**: `x` delete char, `dd` delete line, `yy` yank line, `p`/`P` paste
- **History**: Navigate with `Ctrl+P`/`Ctrl+N` or `j`/`k` in normal mode
- **Autocomplete**: Press `Tab` in insert mode for command suggestions
- **Undo/Redo**: `u` to undo changes in normal mode
```bash
# Enable vim mode in simple chat
z3ed agent simple-chat --rom zelda3.sfc --vim
# Example workflow:
# 1. Start in INSERT mode, type your message
# 2. Press ESC to enter NORMAL mode
# 3. Use hjkl to navigate, w/b for word movement
# 4. Press i to return to INSERT mode
# 5. Press Enter to send message
```
### GUI Chat Widget (Editor Integration)
Accessible from **Debug → Agent Chat** inside YAZE. Provides the same conversation loop as the CLI, including streaming history, JSON/table inspection, and ROM-aware tool dispatch.

View File

@@ -19,6 +19,8 @@ With the core systems stable, the immediate priority is to enhance the `z3ed` AI
- **Performance**: Address the slow initial load time (~2.6 seconds) by implementing lazy loading for rooms.
### Priority 2: `z3ed` AI Agent
-**Vim Mode**: Implemented vim-style line editing in simple-chat with full modal editing support
-**Autocomplete**: Added intelligent command completion with fuzzy matching in FTXUI chat
- **Live LLM Hardening**: Finalize testing of the native Gemini function-calling loop and the proactive v3 system prompt.
- **AI-Driven Editing**: Integrate the AI with the GUI test harness to allow for automated, mouse-driven edits based on natural language commands.
- **Expand Agent Toolset**: Add new read-only tools for inspecting dialogue, music data, and sprite properties.
@@ -50,6 +52,12 @@ With the core systems stable, the immediate priority is to enhance the `z3ed` AI
---
## Recently Completed (v0.3.3 - October 6, 2025)
-**Vim Mode for CLI**: Full vim-style modal editing in `simple-chat` with normal/insert modes, navigation (hjkl, w/b), editing (dd, yy, p), history, and autocomplete
-**Autocomplete System**: Intelligent command completion engine with fuzzy matching, context-aware suggestions, and real-time dropdown in FTXUI chat
-**Enhanced TUI**: Integrated autocomplete UI components with proper header files and CMake compilation
## Recently Completed (v0.3.2)
-**Dungeon Editor Stability**: Fixed all critical crashes in the test suite by migrating to `TestRomManager`. The editor's core logic is now stable and production-ready.