| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- package editor
- import (
- "charm.land/bubbles/v2/key"
- tea "charm.land/bubbletea/v2"
- )
- type Action = struct {
- Binding key.Binding
- Command string
- HasArgs bool
- Callback func(*Model, []string) tea.Cmd
- }
- //type Actionmap = struct {
- // Left, Right, Up, Down, CursorUp, CursorDown, ClearCursors, Tab, Backtab, Newline, Delete, Quit Action
- //}
- func DefaultActions() []Action {
- return []Action{
- Action{
- Binding: key.NewBinding(
- key.WithKeys("left"),
- ),
- Command: "TODO:",
- HasArgs: false,
- Callback: func(m *Model, args []string) tea.Cmd {
- m.Buffer.MoveHoriz(-1)
- return nil
- },
- },
- Action{
- Binding: key.NewBinding(
- key.WithKeys("right"),
- ),
- Command: "TODO:",
- HasArgs: false,
- Callback: func(m *Model, args []string) tea.Cmd {
- m.Buffer.MoveHoriz(1)
- return nil
- },
- },
- Action{
- Binding: key.NewBinding(
- key.WithKeys("up"),
- ),
- Command: "TODO:",
- HasArgs: false,
- Callback: func(m *Model, args []string) tea.Cmd {
- m.Buffer.MoveVert(-1)
- return nil
- },
- },
- Action{
- Binding: key.NewBinding(
- key.WithKeys("down"),
- ),
- Command: "TODO:",
- HasArgs: false,
- Callback: func(m *Model, args []string) tea.Cmd {
- m.Buffer.MoveVert(1)
- return nil
- },
- },
- Action{
- Binding: key.NewBinding(
- key.WithKeys("shift+up"),
- ),
- Command: "TODO:",
- HasArgs: false,
- Callback: func(m *Model, args []string) tea.Cmd {
- m.Buffer.AddCursorVert(-1)
- return nil
- },
- },
- Action{
- Binding: key.NewBinding(
- key.WithKeys("shift+down"),
- ),
- Command: "TODO:",
- HasArgs: false,
- Callback: func(m *Model, args []string) tea.Cmd {
- m.Buffer.AddCursorVert(1)
- return nil
- },
- },
- Action{
- Binding: key.NewBinding(
- key.WithKeys("esc"),
- ),
- Command: "TODO:",
- HasArgs: false,
- Callback: func(m *Model, args []string) tea.Cmd {
- m.Buffer.ClearCursors()
- return nil
- },
- },
- Action{
- Binding: key.NewBinding(
- key.WithKeys("tab"),
- ),
- Command: "TODO:",
- HasArgs: false,
- Callback: func(m *Model, args []string) tea.Cmd {
- //TODO: implement m.Buffer.
- return nil
- },
- },
- Action{
- Binding: key.NewBinding(
- key.WithKeys("shift+tab"),
- ),
- Command: "TODO:",
- HasArgs: false,
- Callback: func(m *Model, args []string) tea.Cmd {
- // TODO: implement m.Buffer.
- return nil
- },
- },
- Action{
- Binding: key.NewBinding(
- key.WithKeys("backspace"),
- ),
- Command: "TODO:",
- HasArgs: false,
- Callback: func(m *Model, args []string) tea.Cmd {
- m.Buffer.Delete()
- return nil
- },
- },
- Action{
- Binding: key.NewBinding(
- key.WithKeys("enter"),
- ),
- Command: "TODO:",
- HasArgs: false,
- Callback: func(m *Model, args []string) tea.Cmd {
- m.Buffer.Insert('\n')
- return nil
- },
- },
- Action{
- Binding: key.NewBinding(
- key.WithKeys("ctrl+c"),
- ),
- Command: "q",
- HasArgs: false,
- Callback: func(m *Model, args []string) tea.Cmd {
- return tea.Quit
- },
- },
- }
- }
|