Phase 2: Hooks System
- Event-driven execution with HookEvent/HookAction types
- HookManager for registration and execution
Phase 3: Multi-Agent Workflow
- Workflow orchestration with dependency graphs
- WorkflowStep with conditions and retry support
Phase 4: MCP (Model Context Protocol) Support
- McpServer for external tool servers
- McpManager for multiple server management
Also includes core modules: cache, error_policy, feature_flags,
git, logger, plugin, retry, rules
662 tests passing
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update App to use MainView for rendering and key handling
- Enable all integrated components: ChatComposer, CommandPopup, HelpViewer, etc.
- Add keyboard shortcuts: Ctrl+P (commands), F1 (help), Ctrl+B (sidebar)
- Support streaming mode with proper UI updates
- Add execute_command for command handling
Closes#30🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add 29 tests covering TextArea functionality:
- Basic operations: creation, text manipulation, char insertion
- Cursor movement (left/right/up/down, home/end, word navigation)
- Selection and clipboard (copy/cut/paste)
- Undo/redo operations
- Line deletion (word backward, to line start/end)
- Configuration (placeholder, tab width, viewport)
- Unicode support and multiline editing
Fix overflow bug in delete_to_line_start where undo position
was calculated after text modification.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Integrate SyntaxHighlighter to provide code-aware coloring in diff views.
- Add enable_syntax_highlighting option to DiffViewerOptions
- Extract file extension from diff file paths for language detection
- Apply syntax highlighting to addition/deletion/context lines
- Preserve diff background colors while using syntax colors for text
- Add 7 new tests for syntax highlighting functionality
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add CursorPosition struct for tracking line/column
- Add ScrollState struct with viewport management:
- scroll_up/down, page_up/down
- scroll_to_top/bottom
- Auto-scroll on new content
- Scroll percentage calculation
- Viewport height configuration
- Update MarkdownStream to use new scroll system
- Track cursor position on content push
- Update render() to update total_lines
- Export ScrollState and CursorPosition from lib.rs
- Add 6 tests for scroll and cursor functionality
Closes#13🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add syntax.rs with syntect integration:
- SyntaxHighlighter with configurable themes
- Support for Rust, Python, JavaScript, TypeScript, etc.
- Language alias normalization (js→JavaScript, py→Python)
- highlight_code() and render_code_block() helpers
- Global syntax/theme sets with lazy loading
- Fallback for unknown languages
- 10 unit tests
Dependencies added: syntect, once_cell
Closes#12🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add diff_viewer.rs with enhanced diff display:
- DiffColors with GitHub-inspired color scheme (#2ea043, #f85149)
- DiffViewer widget with configurable options
- Line number columns (old/new)
- Gutter indicators (+/-)
- File headers with path display
- Multiple color schemes (default, minimal, high-contrast)
- Helper functions render_diff() and render_diff_minimal()
- 11 unit tests
Closes#16🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add markdown_parser.rs with:
- MarkdownParser with caching for efficient re-rendering
- pulldown-cmark integration with full options
- EventRenderer for converting markdown to styled Ratatui lines
- Support for headings, code blocks, lists, emphasis, links
- Blockquotes, horizontal rules, task lists
- Graceful handling of incomplete/malformed markdown
- 14 unit tests covering all features
Dependencies added: pulldown-cmark
Closes#11🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add diff_render.rs with complete unified diff parsing support:
- DiffLineType enum (Context, Addition, Deletion, HunkHeader, FileHeader)
- DiffLine, DiffHunk, FileDiff structs for structured representation
- DiffRender with parse() and render() methods
- Line number tracking for both old/new files
- Styled Ratatui Line output with syntax highlighting
- 5 comprehensive unit tests
Closes#15🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>