WIP: buffers and command history
This commit is contained in:
parent
6db960bb78
commit
fe2e968ced
26
ui/buffer.go
Normal file
26
ui/buffer.go
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
package ui
|
||||||
|
|
||||||
|
import (
|
||||||
|
tea "github.com/charmbracelet/bubbletea"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Buffer represents the behaviour of a user-input buffer.
|
||||||
|
type Buffer interface {
|
||||||
|
validateInput(m model, input string) error
|
||||||
|
handleInput(input string) tea.Msg
|
||||||
|
logToFile(m model, input string)
|
||||||
|
}
|
||||||
|
|
||||||
|
// StatusBuffer is the privileged status buffer where e.g. you input
|
||||||
|
// program-wide commands. It can also report general status information, e.g.
|
||||||
|
// the status of ACN connectivity.
|
||||||
|
type StatusBuffer struct {
|
||||||
|
inputChannel chan string
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProfileBuffer is the profile buffer. There can be several profile buffers
|
||||||
|
// which correspond to several profiles. Profile buffers take input and report
|
||||||
|
// output for profile-specific information, e.g. invites from a new contact.
|
||||||
|
type ProfileBuffer struct {
|
||||||
|
inputChannel chan string
|
||||||
|
}
|
Reference in New Issue
Block a user