feat: complete Rust-to-Go rewrite with Bubbletea v2
Rewrites oxker from Rust/ratatui to Go/Bubbletea, migrated to the Bubbletea v2 API (charm.land/bubbletea/v2). Removes all original Rust source files and legacy Go modules (internal/ui, internal/input, bubbles). Key changes: - View() returns tea.View with declarative AltScreen and MouseMode - KeyMsg → KeyPressMsg, MouseMsg → MouseClickMsg/WheelMsg/MotionMsg/ReleaseMsg - execWriteKey rewritten for v2 key fields (Code/Mod/Text) - Mouse toggle via View field instead of imperative commands - Filter/search text input uses msg.Text for v2 space key compat Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package utils
|
||||
|
||||
type ScrollDirection int
|
||||
|
||||
const (
|
||||
ScrollUp ScrollDirection = iota
|
||||
ScrollDown
|
||||
ScrollPageUp
|
||||
ScrollPageDown
|
||||
ScrollHome
|
||||
ScrollEnd
|
||||
)
|
||||
|
||||
func (sd ScrollDirection) String() string {
|
||||
switch sd {
|
||||
case ScrollUp:
|
||||
return "up"
|
||||
case ScrollDown:
|
||||
return "down"
|
||||
case ScrollPageUp:
|
||||
return "pageup"
|
||||
case ScrollPageDown:
|
||||
return "pagedown"
|
||||
case ScrollHome:
|
||||
return "home"
|
||||
case ScrollEnd:
|
||||
return "end"
|
||||
default:
|
||||
return "unknown"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user