make rules for unicode-char.inc.pl and ttfsupport/
[sheet.git] / mutt.inc.pl
index 77f920d3825480ce53cc77d85bf00f4d8b0b5bdb..90185c9befe5dbe48d89360d156ee3d6f8ffef21 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", 'mi arg'], # tag-prefix
-       '@' => ["display sender", 'ci'], # display-address
-       ':' => ["enter command", 'mi'], # enter-command
-       '=' => ["first entry", 'po'], # first-entry
-       ']' => ["half page down", 'pm'], # half-down
-       '[' => ["half page up", 'pm'], # half-up
-       '?' => ["help", 'ci'], # help
-       '!' => ["invoke shell", 'ci arg'], # shell
-       '*' => ["last message", 'po'], # last-entry
-       '>' => ["line $sign{down}", 'pm'], # next-line
-       '<' => ["line $sign{up}", 'pm'], # previous-line
-       '.' => ["list new mail", 'mv'], # buffy-list #TODO
-       '|' => ["pipe to shell", 'mi'], # pipe-message
-       '$' => ["save mailbox", 'co'], # sync-mailbox
-       '/' => ["search", 'po arg mode/~'], # search
-       '#' => ["split up thread", 'co'], # break-thread
-       '&' => ["thread tagged", 'co'], # link-threads
-       '%' => ["toggle reado$sign{_}nl$sign{_}y", 'co'], # 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", 'mi'], # create-alias
-       'b' => ["bounce", 'mo'], # bounce-message
-       '^b'=> ["url$sign{_}view", 'ci'],
-       '+b'=> ["search bodies"], # M <search>~b
-       'c' => ["open folder", 'mv'], # change-folder
-       'C' => ["copy message", 'mi'], # copy-message
-       '+c'=> ["open readonly", 'mv'], # change-folder-readonly
-       '+C'=> ["make plain copy"], # decode-copy
-       'd' => ["delete", 'co'], # delete-message
-       'D' => ["delete patt$sign{_}er$sign{_}n", 'co arg'], # delete-pattern
-       '^d'=> ["delete thread", 'co'], # delete-thread
-       '+d'=> ["delete subthread", 'co'], # delete-subthread
-       'e' => ["edit", 'co'], # edit
-       '^e'=> ["edit con$sign{_}tent type", 'co'], # edit-type
-       '+e'=> ["edit+send copy"], # resend-message
-       'f' => ["forward", 'mo modem'], # forward-message
-       'F' => ["toggle important", 'co'], # flag-message
-       '^f'=> ["forget pass$sign{_}phras$sign{_}e", 'mi'], # forget-passphrase
-       'g' => ["reply to all", 'mo modem', 'Group reply'], # group-reply
-       'G' => ["fetch POP", 'mi', 'Gather new mail'], # fetch-mail
-       'h' => ["toggle headers", 'me'], # display-toggle-weed
-       'H' => ["screen top", 'po'], # top-page
-       '^i'=> ["unread msg $sign{down}", 'po'], # next-new-then-unread
-       '+^i'=> ["unread msg $sign{up}"], # previous-new-then-unread
-       'j' => ["entry $sign{down}", 'po'], # next-entry, next-undeleted
-       'J' => ["messag$sign{_}e $sign{down}", 'po'], # next-entry
-       'k' => ["entry $sign{up}", 'po'], # previous-entry, previous-undeleted
-       'K' => ["messag$sign{_}e $sign{up}", 'po'], # previous-entry
-       '^k'=> ["extract pub keys", 'ci'], # extract-keys
-       '+k'=> ["send public key", 'mo modem'], # mail-key
-       'l' => ["limit pattern", 'me'], # limit
-       'L' => ["reply to list", 'mo modem'], # list-reply
-       '^l'=> ["redraw", 'ci'], # refresh
-       '+l'=> ["show current limit", 'ci'], # show-limit
-       'm' => ["compo$sign{_}s$sign{_}e mail", 'mo modem'], # mail
-       'M' => ["screen middle", 'po'], # middle-page
-       '^m'=> ["select", 'mi mode^m'], # select-entry, display-message
-       'n' => ["search $sign{down}", 'po'], # search-next
-       'N' => ["toggle new", 'co'], # toggle-new
-       '^n'=> ["thread $sign{down}", 'po'], # next-thread
-       '+n'=> ["subthr$sign{_}ead $sign{down}", 'po'], # next-subthread
-       'o' => ["sort", 'me modeo'], # sort-mailbox
-       'O' => ["sort reverse", 'me modeo'], # sort-reverse
-       'p' => ["print", 'ci'], # print-message
-       'P' => ["to parent", 'po'], # parent-message
-       '^p'=> ["thread $sign{up}", 'po'], # previous-thread
-       '+p'=> ["subthr$sign{_}ead $sign{up}", 'po'], # previous-subthread
-       '+P'=> ["check for pgp"], # check-traditional-pgp
-       'q' => ["exit or quit", 'mv'], # exit, quit
-       'Q' => ["query addr$sign{_}ess$sign{_}es", 'ci arg'], # query
-       'r' => ["reply to sender", 'mo modem'], # reply
-       'R' => ["recall postpon$sign{_}e$sign{_}d", 'mo modem'], # recall-message
-       '^r'=> ["mark thread read", 'co'], # read-thread
-       '+r'=> ["mark sub$sign{_}thread r$sign{_}ead", 'co'], # read-subthread
-       's' => ["move", 'co'], # save-message
-       '+s'=> ["save and delete", 'co'], # decode-save
-       't' => ["tag", 'co'], # tag-entry
-       'T' => ["tag patt$sign{_}er$sign{_}n", 'co arg'], # tag-pattern
-       '^t'=> ["untag pattern", 'co'], # untag-pattern
-       '+t'=> ["tag thread", 'co'], # tag-thread
-       'u' => ["undo delete", 'co'], # undelete-message
-       'U' => ["res$sign{_}tore pat$sign{_}t$sign{_}er$sign{_}n", 'co arg'], # undelete-pattern
-       '^u'=> ["restore thread", 'co'], # undelete-thread
-       '+u'=> ["restore subthread", 'co'], # undelete-subthread
-       'v' => ["attach$sign{_}ments", 'ci'], # view-attachments
-       'V' => ["version", 'ci'], # show-version
-       '+v'=> ["(un)collapse thread", 'me'], # collapse-thread
-       '+V'=> ["(un)collapse threads", 'me'], # collapse-all
-       'w' => ["set flag", 'co arg'], # set-flag
-       'W' => ["clear flag", 'co arg'], # clear-flag
-       'x' => ["exit menu", 'mv'], # exit
-       'y' => ["list incoming mailboxes", 'mv'], # M <change-folder>?<toggle-mailboxes>
-       'z' => ["page $sign{down}", 'pm'], # next-page
-       'Z' => ["page $sign{up}", 'pm'], # 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
+
+}