mirror of
https://github.com/mark3labs/kit.git
synced 2026-06-14 03:30:26 +00:00
db4be4f9a2
Add ScrollList component for viewport-based message history with lazy rendering and offset-based scrolling. Implement MessageItem system for user, assistant, tool, system, and error messages with pre-rendered styled content from MessageRenderer. Key changes: - ScrollList: height-constrained viewport with itemGap support, padding to ensure fixed height for sticky bottom layout - MessageItem implementations with preRendered content from MessageRenderer - refreshContent() pattern for efficient ScrollList updates - Mouse wheel scrolling (3 lines per tick) with auto-scroll behavior - All message types (user, assistant, tool, system, error, extension) properly added to in-memory scrollback - PgUp/PgDn/Alt+Home/Alt+End keybindings for navigation - Removed tea.Println() calls for alt screen compatibility - Sticky bottom layout: input, separator, status bar fixed at bottom Files added: - internal/ui/scrolllist.go (ScrollList component) - internal/ui/message_items.go (MessageItem implementations) Files modified: - internal/ui/model.go (main integration) - internal/ui/*.go (alt screen config for components)