Summary
Bubble Tea v2 moves cursor control into the View struct — position, shape, color, and blink are declarative fields. This could simplify how chisel manages the editor cursor.
What it looks like in v2
v.Cursor = &tea.Cursor{
Position: tea.Position{X: 14, Y: 0},
Shape: tea.CursorBlock,
Blink: true,
Color: lipgloss.Green,
}
Set v.Cursor = nil to hide. tea.NewCursor(x, y) for a quick block cursor.
Current state
chisel uses bubbles/textarea for the editor, which manages its own cursor internally. The cursor is always a blinking block in the edit area. There's no cursor in the binder, structural views, or overlays — navigation is visual (highlighted rows/cards).
Opportunity
This is a low-priority code simplification rather than a user-facing change. When v2 lands, the declarative cursor API might reduce boilerplate around terminal setup and cursor management. It also opens the door to context-sensitive cursor shapes — e.g., a thin cursor in reading mode vs. block cursor in edit mode — but that's speculative.
Depends on
Summary
Bubble Tea v2 moves cursor control into the View struct — position, shape, color, and blink are declarative fields. This could simplify how chisel manages the editor cursor.
What it looks like in v2
Set
v.Cursor = nilto hide.tea.NewCursor(x, y)for a quick block cursor.Current state
chisel uses
bubbles/textareafor the editor, which manages its own cursor internally. The cursor is always a blinking block in the edit area. There's no cursor in the binder, structural views, or overlays — navigation is visual (highlighted rows/cards).Opportunity
This is a low-priority code simplification rather than a user-facing change. When v2 lands, the declarative cursor API might reduce boilerplate around terminal setup and cursor management. It also opens the door to context-sensitive cursor shapes — e.g., a thin cursor in reading mode vs. block cursor in edit mode — but that's speculative.
Depends on