update QoL and ai integration

This commit is contained in:
2026-07-29 14:16:14 +02:00
parent 1d90e364ee
commit 027057e85f
14 changed files with 1893 additions and 84 deletions

View File

@@ -51,6 +51,7 @@ type ThreadKeyBindings struct {
ClearFilter []string `toml:"clear_filter"`
NextUnread []string `toml:"next_unread"`
PreviousUnread []string `toml:"previous_unread"`
MarkRead []string `toml:"mark_read"`
Reply []string `toml:"reply"`
Resolve []string `toml:"resolve"`
Toggle []string `toml:"toggle"`
@@ -128,7 +129,8 @@ func defaultKeyBindings() KeyBindings {
Threads: ThreadKeyBindings{
Search: []string{"/"}, ClearFilter: []string{"F"},
NextUnread: []string{"n"}, PreviousUnread: []string{"N"},
Reply: []string{"c"}, Resolve: []string{"R"}, Toggle: []string{"enter"},
MarkRead: []string{"m"},
Reply: []string{"c"}, Resolve: []string{"R"}, Toggle: []string{"enter"},
FoldPrefix: []string{"z"}, FoldToggle: []string{"a"},
},
Input: InputKeyBindings{
@@ -323,6 +325,8 @@ func (k KeyBindings) canonicalMainKey(key string, current screen) string {
return "n"
case keyMatches(key, k.Threads.PreviousUnread):
return "N"
case keyMatches(key, k.Threads.MarkRead):
return "m"
case keyMatches(key, k.Threads.Reply):
return "c"
case keyMatches(key, k.Threads.Resolve):
@@ -422,6 +426,7 @@ func validateKeyBindings(bindings KeyBindings) error {
"search": bindings.Threads.Search, "clear_filter": bindings.Threads.ClearFilter,
"next_unread": bindings.Threads.NextUnread,
"previous_unread": bindings.Threads.PreviousUnread,
"mark_read": bindings.Threads.MarkRead,
"reply": bindings.Threads.Reply, "resolve": bindings.Threads.Resolve,
"toggle": bindings.Threads.Toggle, "fold_prefix": bindings.Threads.FoldPrefix,
"fold_toggle": bindings.Threads.FoldToggle,
@@ -525,6 +530,7 @@ func validateKeyBindingContexts(bindings KeyBindings) error {
contextBinding{"clear_filter", threads.ClearFilter},
contextBinding{"next_unread", threads.NextUnread},
contextBinding{"previous_unread", threads.PreviousUnread},
contextBinding{"mark_read", threads.MarkRead},
contextBinding{"reply", threads.Reply},
contextBinding{"resolve", threads.Resolve},
contextBinding{"toggle", threads.Toggle},