logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

IM::Scan - scan listing from mail/news message

Description

       The IM::Scan module handles scan format and petnames format for mail/news message.

       This modules is provided by IM (Internet Message).

Files

        $HOME/.im/Config       the user profile

Name

       IM::Scan - scan listing from mail/news message

Petnames Format

       Following format is valid in petnames file.  A line beginning with '#' is ignored.

           # This is comments
           Kazu@Mew.org      "Mr.Kazu"
           nom@Mew.org       "Nomsun"

Profile Components

        Component     Explanation                     Example

        MailDir:      your mail directory             Mail
        Width:        one line width                  80
        JisSafe:      safely substr for ISO-2022-JP   on
        Form:         scan format                     %+5n %m%d %8f %-30S %b
        PetnameFile:  nickname file                    ~/.im/Petname
        Address:      your mail addresses             kazu@mew.org, kazu@wide.ad.jp
        AddrRegex:    regexp of your addresses        ^kazu@.*$
                      if necessary

Scan Format

       '%{width}{header-type}' format is available. You can define any header-type as you want. Default valid
       header-types are

           %n    message number
           %d    raw Date: field
           %f    MIME decoded From: field
           %t    MIME decoded To: filed
           %g    raw Newsgroups: field
           %a    friendly From: field
           %A    If this message is originated by yourself, friendly To:
                 or raw Newsgroups: is displayed in 'To:xxx' or 'Ng:xxx'
                 format, respectively. Otherwise, friendly From: field is
                 displayed.
           %P    Similar to %A, but display raw address of mail sender
                 instead of friendly From: field, just like mh-e.
           %i    indent to display thread
           %s    MIME decoded Subject: field
           %S    indented MIME decoded Subject (same as %i+%s)
           %b    a part of body extracted with heuristic
           %m    Multipart type
                     'S'igned, 'E'ncrypt, 'M'ultipart, 'P'artial or none
           %p    mark '*' if the message is destined to you
           %D    mark 'D' if the message is duplicated
           %M    %p+%D
           %F    folder path
           %K    file block size (1024 bytes/block)

           %y    year
           %c    month (digit)
           %C    month (string)
           %e    mday
           %h    hour
           %E    min
           %G    sec

       {width} is a integer with/without '-' sign. if a '-' sign exists, content of a header-type will be
       displaied with left adjustment. If the integer have leading '0', the field will be padded with leading
       '0's.

       To improve processing speed, needless process on JIS character should be avoided. Even if 'JisSafe' is
       on, only %f, %t, %A, %s, %S and %b are processed with 'substr' routine for JIS characters by default. If
       you want to process other header-types with JIS version of 'substr', specify '!'  just after '%' like:
       %!-8S.

       ScanForm "%+5n %m%d %-14A %-18S %b" works as same as IM default scaning.

Synopsis

        use IM::Scan;

        &set_scan_form($scan_form, $width, $use_jis);
        &read_petnames();
        %Head = &get_header($mail_file);
        &disp_msg(\%Head);

See Also