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:
Niko Syring
2026-03-12 03:41:14 +01:00
parent e020eb157c
commit d41761d6e9
224 changed files with 5140 additions and 26515 deletions
+31
View File
@@ -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"
}
}