Перевод обработчиков нажатия клавиш со строк на объект клавиш, комментарии

This commit is contained in:
XeRo 2026-01-26 17:46:17 +05:00
parent c69a7ae84b
commit 2192b3647f
11 changed files with 240 additions and 210 deletions

View file

@ -1,5 +1,7 @@
package types
import "github.com/charmbracelet/bubbles/key"
// PackageApplication структура описывающая настраиваемое приложение
type PackageApplication struct {
Name string `yaml:"name"` //Имя приложения
@ -78,3 +80,33 @@ type SectionAction struct {
// BoolValidateFunc функция, которая возвращает ошибку, если данные checkbox неверны
type BoolValidateFunc func(bool) error
// MainKeyMap структура главных клавиш
type MainKeyMap struct {
Up key.Binding //Вверх, прошлый элемент
Down key.Binding //Вниз, следующий элемент
Left key.Binding //Влево
Right key.Binding //Вправо
Top key.Binding //На самый верх
Bottom key.Binding //В самый низ
Confirm key.Binding //Клавиша подтверждения
Help key.Binding //Отображение помощи
Log key.Binding //Отображение лого
Close key.Binding //Закрыть
Exit key.Binding //Выйти
}
// MainKeys используемые клавиши
var MainKeys = MainKeyMap{
Up: key.NewBinding(key.WithKeys("up", "shift+tab"), key.WithHelp("up", "move up")),
Down: key.NewBinding(key.WithKeys("down", "tab"), key.WithHelp("down", "move down")),
Left: key.NewBinding(key.WithKeys("left"), key.WithHelp("left", "move left")),
Right: key.NewBinding(key.WithKeys("right"), key.WithHelp("right", "move right")),
Top: key.NewBinding(key.WithKeys("home"), key.WithHelp("top", "move top")),
Bottom: key.NewBinding(key.WithKeys("end"), key.WithHelp("bottom", "move bottom")),
Confirm: key.NewBinding(key.WithKeys("enter"), key.WithHelp("enter", "confirm")),
Help: key.NewBinding(key.WithKeys("?", "ctrl+h"), key.WithHelp("?/ctrl+h", "help")),
Log: key.NewBinding(key.WithKeys("ctrl+l"), key.WithHelp("ctrl+l", "show/hide log window")),
Close: key.NewBinding(key.WithKeys("esc"), key.WithHelp("esc", "close")),
Exit: key.NewBinding(key.WithKeys("ctrl+c"), key.WithHelp("ctrl+c", "quit")),
}