feat!(textarea): DefaultKeyMap is now a func instead of a global

This commit is contained in:
Christian Rocha
2024-10-31 15:02:05 -04:00
parent 73fe314cc6
commit 4ce3faadcf
+5 -3
View File
@@ -63,9 +63,10 @@ type KeyMap struct {
TransposeCharacterBackward key.Binding TransposeCharacterBackward key.Binding
} }
// DefaultKeyMap is the default set of key bindings for navigating and acting // DefaultKeyMap returns the default set of key bindings for navigating and acting
// upon the textarea. // upon the textarea.
var DefaultKeyMap = KeyMap{ func DefaultKeyMap() KeyMap {
return KeyMap{
CharacterForward: key.NewBinding(key.WithKeys("right", "ctrl+f"), key.WithHelp("right", "character forward")), CharacterForward: key.NewBinding(key.WithKeys("right", "ctrl+f"), key.WithHelp("right", "character forward")),
CharacterBackward: key.NewBinding(key.WithKeys("left", "ctrl+b"), key.WithHelp("left", "character backward")), CharacterBackward: key.NewBinding(key.WithKeys("left", "ctrl+b"), key.WithHelp("left", "character backward")),
WordForward: key.NewBinding(key.WithKeys("alt+right", "alt+f"), key.WithHelp("alt+right", "word forward")), WordForward: key.NewBinding(key.WithKeys("alt+right", "alt+f"), key.WithHelp("alt+right", "word forward")),
@@ -90,6 +91,7 @@ var DefaultKeyMap = KeyMap{
UppercaseWordForward: key.NewBinding(key.WithKeys("alt+u"), key.WithHelp("alt+u", "uppercase word forward")), UppercaseWordForward: key.NewBinding(key.WithKeys("alt+u"), key.WithHelp("alt+u", "uppercase word forward")),
TransposeCharacterBackward: key.NewBinding(key.WithKeys("ctrl+t"), key.WithHelp("ctrl+t", "transpose character backward")), TransposeCharacterBackward: key.NewBinding(key.WithKeys("ctrl+t"), key.WithHelp("ctrl+t", "transpose character backward")),
}
} }
// LineInfo is a helper for keeping track of line information regarding // LineInfo is a helper for keeping track of line information regarding
@@ -301,7 +303,7 @@ func New() Model {
EndOfBufferCharacter: ' ', EndOfBufferCharacter: ' ',
ShowLineNumbers: true, ShowLineNumbers: true,
Cursor: cur, Cursor: cur,
KeyMap: DefaultKeyMap, KeyMap: DefaultKeyMap(),
value: make([][]rune, minHeight, defaultMaxHeight), value: make([][]rune, minHeight, defaultMaxHeight),
focus: false, focus: false,