make rules for unicode-char.inc.pl and ttfsupport/
[sheet.git] / mutt.inc.pl
index 969aeee..90185c9 100644 (file)
 use utf8;
 
-my @generic = qw(^l ! * / : ; < = > ? H L M Z [ ] j k n q t z);
+my %common = (
+       "\e"=> ['me mode', '+'],
+
+       'H' => ['pm'], # top-page
+       'j' => ['pm'], # next-entry, next-undeleted
+       'k' => ['pm'], # previous-entry, previous-undeleted
+       'L' => ['pm'], # bottom-page
+       '^l'=> ['ci'], # refresh
+       'M' => ['pm'], # middle-page
+       '^m'=> ['mi mode^m'], # select-entry, display-message
+       'n' => ['po'], # search-next
+       'q' => ['mv mode'], # exit
+       't' => ['co'], # tag-entry
+       'z' => ['pm'], # next-page
+       'Z' => ['pm'], # previous-page
+
+       '*' => ['pm'], # last-entry
+       '=' => ['pm'], # first-entry
+       ':' => ['mi'], # enter-command
+       ';' => ['mi arg'], # tag-prefix
+       '>' => ['pm'], # next-line
+       '<' => ['pm'], # previous-line
+       ']' => ['pm'], # half-down
+       '[' => ['pm'], # half-up
+       '?' => ['ci'], # help
+       '!' => ['ci arg'], # shell
+       '/' => ['po arg mode/~'], # search
+       '+/'=> ['po arg mode/~'], # search
+);
+
+{
 
 '' => {
-       desc => 'index',
+       %common,
 
-       ';' => ["apply to tagged", 'arg'], # tag-prefix
-       '@' => ["display sender", 'ci'], # display-address
-       ':' => ["enter command"], # enter-command
-       '=' => ["first entry"], # first-entry
-       ']' => ["half page down"], # half-down
-       '[' => ["half page up"], # half-up
-       '?' => ["help"], # help
-       '!' => ["invoke shell"], # shell
-       '*' => ["last message"], # last-entry
-       '>' => ["line $sign{down}"], # next-line
-       '<' => ["line $sign{up}"], # previous-line
-       '.' => ["list new mail"], # buffy-list #TODO
-       '|' => ["pipe to shell"], # pipe-message
-       '$' => ["save mailbox"], # sync-mailbox
-       '/' => ["search", 'mode/~'], # search
-       '#' => ["split up thread"], # break-thread
-       '&' => ["thread tagged"], # link-threads
-       '%' => ["toggle readonly"], # toggle-write
+       '@' => ['ci'], # display-address
+       '.' => ['mv'], # buffy-list #TODO
+       '|' => ['mi'], # pipe-message
+       '$' => ['co'], # sync-mailbox
+       '#' => ['co'], # break-thread
+       '&' => ['co'], # link-threads
+       '%' => ['co'], # toggle-write
        ' ' => '^m',
 
-       'a' => ["create alias"], # create-alias
-       'b' => ["bounce"], # bounce-message
-       '^b'=> ["url$sign{_}view"],
-       '\b'=> ["search bodies"], # M <search>~b
-       'c' => ["open folder"], # change-folder
-       'C' => ["copy message"], # copy-message
-       '\c'=> ["open readonly"], # change-folder-readonly
-       '\C'=> ["make plain copy"], # decode-copy
-       'd' => ["delete"], # delete-message
-       'D' => ["delete pattern"], # delete-pattern
-       '^d'=> ["delete thread"], # delete-thread
-       '\d'=> ["delete subthread"], # delete-subthread
-       'e' => ["edit"], # edit
-       '^e'=> ["edit con$sign{_}tent type"], # edit-type
-       '\e'=> ["edit+send copy"], # resend-message
-       'f' => ["forward"], # forward-message
-       'F' => ["toggle important"], # flag-message
-       '^f'=> ["forget pass$sign{_}phras$sign{_}e"], # forget-passphrase
-       'g' => ["reply to all", '', 'Group reply'], # group-reply
-       'G' => ["fetch POP", '', 'Gather new mail'], # fetch-mail
-       'h' => ["toggle headers"], # display-toggle-weed
-       'H' => ["screen top"], # top-page
-       '^i'=> ["next unread msg"], # next-new-then-unread
-#      '\tab'=> ["previous unread msg"], # previous-new-then-unread
-       'j' => ["next entry"], # next-entry, next-undeleted
-       'J' => ["next message"], # next-entry
-       'k' => ["previous entry"], # previous-entry, previous-undeleted
-       'K' => ["previous message"], # previous-entry
-       '^k'=> ["extract pub keys"], # extract-keys
-       '\k'=> ["send public key"], # mail-key
-       'l' => ["limit pattern"], # limit
-       'L' => ["reply to list"], # list-reply
-       '^l'=> ["redraw"], # refresh
-       '\l'=> ["show current limit"], # show-limit
-       'm' => ["compose mail"], # mail
-       'M' => ["screen middle"], # middle-page
-       '^m'=> ["select"], # select-entry, display-message
-       'n' => ["search next"], # search-next
-       'N' => ["toggle new"], # toggle-new
-       '^n'=> ["next thread"], # next-thread
-       '\n'=> ["next subthread"], # next-subthread
-       'o' => ["sort"], # sort-mailbox
-       'O' => ["sort reverse"], # sort-reverse
-       'p' => ["print"], # print-message
-       'P' => ["to parent"], # parent-message
-       '^p'=> ["previous thread"], # previous-thread
-       '\p'=> ["previous subthread"], # previous-subthread
-       '\P'=> ["check for pgp"], # check-traditional-pgp
-       'q' => ["exit or quit"], # exit, quit
-       'Q' => ["query for addresses"], # query #TODO
-       'r' => ["reply to sender"], # reply
-       'R' => ["recall postpon$sign{_}e$sign{_}d"], # recall-message
-       '^r'=> ["mark thread read"], # read-thread
-       '\r'=> ["mark sub$sign{_}thread r$sign{_}ead"], # read-subthread
-       's' => ["move"], # save-message
-       '\s'=> ["save and delete"], # decode-save
-       't' => ["tag"], # tag-entry
-       'T' => ["tag pattern"], # tag-pattern
-       '^t'=> ["untag pattern"], # untag-pattern
-       '\t'=> ["tag thread"], # tag-thread
-       'u' => ["undo delete"], # undelete-message
-       'U' => ["undelete pattern"], # undelete-pattern
-       '^u'=> ["undelete thread"], # undelete-pattern
-       '\u'=> ["undelete subthread"], # undelete-subthread
-       'v' => ["attach$sign{_}ments"], # view-attachments
-       'V' => ["version"], # show-version
-       '\v'=> ["(un)collapse thread"], # collapse-thread
-       '\V'=> ["(un)collapse threads"], # collapse-all
-       'w' => ["set flag", 'arg'], # set-flag
-       'W' => ["clear flag", 'arg'], # clear-flag
-       'x' => ["exit menu"], # exit
-       'y' => ["list incoming mailboxes"], # M <change-folder>?<toggle-mailboxes>
-       'z' => ["page $sign{down}"], # next-page
-       'Z' => ["page $sign{up}"], # previous-page
+       'a' => ['mi'], # create-alias
+       'b' => ['mo'], # bounce-message
+       '^b'=> ['ci'],
+       '+b'=> [undef], # M <search>~b
+       'c' => ['mv'], # change-folder
+       'C' => ['mi'], # copy-message
+       '+c'=> ['mv'], # change-folder-readonly
+       '+C'=> [undef], # decode-copy
+       'd' => ['co'], # delete-message
+       'D' => ['co arg'], # delete-pattern
+       '^d'=> ['co'], # delete-thread
+       '+d'=> ['co'], # delete-subthread
+       'e' => ['co'], # edit
+       '^e'=> ['co'], # edit-type
+       '+e'=> [undef], # resend-message
+       'f' => ['mo modem'], # forward-message
+       'F' => ['co'], # flag-message
+       '^f'=> ['mi'], # forget-passphrase
+       'g' => ['mo modem'], # group-reply
+       'G' => ['mi'], # fetch-mail
+       'h' => ['me'], # display-toggle-weed
+       '^i'=> ['po'], # next-new-then-unread
+       '+^i'=> [undef], # previous-new-then-unread
+       'j' => ['pm'], # next-undeleted
+       'k' => ['pm'], # previous-undeleted
+       'J' => ['po'], # next-entry
+       'K' => ['po'], # previous-entry
+       '^k'=> ['ci'], # extract-keys
+       '+k'=> ['mo modem'], # mail-key
+       'l' => ['me'], # limit
+       'L' => ['mo modem'], # list-reply
+       '+l'=> ['ci'], # show-limit
+       'm' => ['mo modem'], # mail
+       'N' => ['co'], # toggle-new
+       '^n'=> ['po'], # next-thread
+       '+n'=> ['po'], # next-subthread
+       'o' => ['me modeo'], # sort-mailbox
+       'O' => ['me modeo'], # sort-reverse
+       'p' => ['ci'], # print-message
+       'P' => ['po'], # parent-message
+       '^p'=> ['po'], # previous-thread
+       '+p'=> ['po'], # previous-subthread
+       '+P'=> [undef], # check-traditional-pgp
+       'q' => ['mv'], # quit
+       'Q' => ['ci arg'], # query
+       'r' => ['mo modem'], # reply
+       'R' => ['mo modem'], # recall-message
+       '^r'=> ['co'], # read-thread
+       '+r'=> ['co'], # read-subthread
+       's' => ['co'], # save-message
+       '+s'=> ['co'], # decode-save
+       'T' => ['co arg'], # tag-pattern
+       '^t'=> ['co'], # untag-pattern
+       '+t'=> ['co'], # tag-thread
+       'u' => ['co'], # undelete-message
+       'U' => ['co arg'], # undelete-pattern
+       '^u'=> ['co'], # undelete-thread
+       '+u'=> ['co'], # undelete-subthread
+       'v' => ['ci'], # view-attachments
+       'V' => ['ci'], # show-version
+       '+v'=> ['me'], # collapse-thread
+       '+V'=> ['me'], # collapse-all
+       'w' => ['co arg modew'], # set-flag
+       'W' => ['co arg modew'], # clear-flag
+       'x' => ['mv'], # exit
+       'y' => ['mv'], # M <change-folder>?<toggle-mailboxes>
 }, # index
 
-' ' => {
-       'L' => ["screen bottom"], # bottom-page
-}, # general
+'m' => {
+       %common,
 
-'/~' => {
-       desc => 'search flags (/~)',
+       '|' => ['co'],
+       'a' => ['mi'],
+       'A' => ['mi'],
+       'b' => ['co'],
+       'c' => ['co'],
+       'C' => ['mi'],
+       'd' => ['co'],
+       'D' => ['co'],
+       '^d'=> ['co'],
+       'e' => ['co linkvi'],
+       'E' => ['co linkvi'],
+       '^e'=> ['co'],
+       'f' => ['co'],
+       '^f'=> ['mi'],
+       '+f'=> ['co'],
+       'F' => ['co'],
+       'G' => ['ci'],
+       'h' => ['ci'],
+       'i' => ['mi'],
+       'l' => ['ci'],
+       'm' => ['co'],
+       'M' => ['co'],
+       '^m'=> ['ci'],
+       'n' => ['mi'],
+       'P' => ['mv mode'],
+       'r' => ['co'],
+       'R' => ['co'],
+       's' => ['co'],
+       'S' => ['co menumS'],
+       't' => ['co'],
+       '^t'=> ['co'],
+       'w' => ['mi'],
+       'u' => ['mi'],
+       'U' => ['co'],
+       'y' => ['mo'],
+}, # compose
 
-       A => ["all"],
-       b => ["msg body", 'X arg'],
-       B => ["whole msg", 'arg'],
-       c => ["cc address", 'arg'],
-       C => ["to or cc address", 'arg'],
-       d => ["date sent ran$sign{_}g$sign{_}e", 'arg'],
-       D => ["deleted"],
-       e => ["sender", 'arg'],
-       E => ["expired"],
-       f => ["from", 'arg'],
-       F => ["flagged"],
-       g => ["signed"],
-       G => ["encryp$sign{_}ted"],
-       h => ["header", 'arg'],
-       H => ["spam attr$sign{_}ib$sign{_}ute", 'arg'],
-       i => ["msg id", 'arg'],
-       k => ["pgp key"],
-       L => ["receiv$sign{_}d by", 'arg'],
-       l => ["mailing list"],
-       m => ["num$sign{_}ber ran$sign{_}g$sign{_}e", 'arg'],
-       n => ["score range", 'arg'],
-       N => ["new"],
-       O => ["old"],
-       p => ["to you"],
-       P => ["by you"],
-       Q => ["replies"],
-       r => ["receive date ran$sign{_}ge", 'arg'],
-       R => ["read"],
-       s => ["subject"],
-       S => ["super$sign{_}seded"],
-       t => ["to address", 'arg'],
-       T => ["tagged"],
-       u => ["subscr$sign{_}ibed list"],
-       U => ["unread"],
-       v => ["collapsed thread"],
-       V => ["verified"],
-       x => ["refer$sign{_}ence", 'arg'],
-       X => ["attach$sign{_}ments", 'arg'],
-       y => ["x-label", 'arg'],
-       z => ["size range", 'arg'],
-       '=' => ["dupli$sign{_}cate"],
-       '$' => ["unrefer$sign{_}enced"],
-       '(' => ["in thread", 'arg'],
+w => {
+       "\e"=> ['me mode', '+'],
+       'D' => ['co'],
+       'd' => 'wD',
+       'N' => ['co'],
+       'n' => 'wN',
+       'O' => ['co'],
+       'o' => 'wO',
+       'r' => ['co'],
+       'R' => 'wr',
+       '*' => ['co'],
+       '!' => ['co'],
+}, # flag
+
+'/~' => {
+       "\e"=> ['me mode', '+'],
+       A => [undef],
+       b => ['X arg'],
+       B => ['arg'],
+       c => ['arg'],
+       C => ['arg'],
+       d => ['arg'],
+       D => [undef],
+       e => ['arg'],
+       E => [undef],
+       f => ['arg'],
+       F => [undef],
+       g => [undef],
+       G => [undef],
+       h => ['arg'],
+       H => ['arg'],
+       i => ['arg'],
+       k => [undef],
+       L => ['arg'],
+       l => [undef],
+       m => ['arg'],
+       n => ['arg'],
+       N => [undef],
+       O => [undef],
+       p => [undef],
+       P => [undef],
+       Q => [undef],
+       r => ['arg'],
+       R => [undef],
+       s => [undef],
+       S => [undef],
+       t => ['arg'],
+       T => [undef],
+       u => [undef],
+       U => [undef],
+       v => [undef],
+       V => [undef],
+       x => ['arg'],
+       X => ['arg'],
+       y => ['arg'],
+       z => ['arg'],
+       '=' => [undef],
+       '$' => [undef],
+       '(' => ['arg'],
 }, # search option
+
+}