mu server uses PCRE-compatible regular expressions, but mu4e needs Emacs-style. In simple cases, the two are the same, but when it gets slightly more complicated they do not. E.g., (foo|bar) => \(foo\|bar\) Mu4e can do the conversion automatically, but for this the pcre2el package (available in MELPA) is required, and is used if user installs is. Anyway, this code implements the automatic conversion and adds some documentation. Fixes #2816.
109 lines
4.0 KiB
Org Mode
109 lines
4.0 KiB
Org Mode
#+TITLE: MU INIT
|
||
#+MAN_CLASS_OPTIONS: :section-id "@SECTION_ID@" :date "@MAN_DATE@"
|
||
#+include: macros.inc
|
||
|
||
* NAME
|
||
|
||
mu-init - initialize the *mu* message database
|
||
|
||
* SYNOPSIS
|
||
|
||
*mu* [_COMMON-OPTIONS_] *init* [_OPTIONS_]
|
||
|
||
* DESCRIPTION
|
||
|
||
*mu init* is the subcommand for setting up the *mu* message database. After *mu init*
|
||
has completed, you can run *mu index*
|
||
|
||
* INIT OPTIONS
|
||
|
||
** -m, --maildir _maildir_
|
||
Use _maildir_ as the root-maildir.
|
||
|
||
By default, *mu* uses the *MAILDIR* environment; if it is not set, it uses _~/Maildir_
|
||
if it is an existing directory. If neither of those can be used, the *--maildir*
|
||
option is required; it must be an absolute path (but ~~/~ expansion is
|
||
performed).
|
||
|
||
** --my-address _email-address-or-regex_
|
||
Specifies that some e-mail address is a personal address. The option can be used
|
||
multiple times, to specify all your addresses.
|
||
|
||
Any message in which at least one of the contact fields contains such an address
|
||
is considered a `personal' message; this can then be used for filtering in
|
||
{{{man-link(mu-find,1)}}}, {{{man-link(mu-cfind,1)}}} and *mu4e*, e.g. to
|
||
filter-out mailing list messages.
|
||
|
||
_email-address-or-regex_ can be either a plain e-mail address (such as
|
||
*foo@example.com*), or a basic PCRE regular-expression (see {{{man-link(pcre,3)}}}
|
||
for details), wrapped in */* (such as =/foo-.*@example\\.com/=). Depending on your
|
||
shell, the argument may need to be quoted.
|
||
|
||
A note of warning for *mu4e* users: any regular-expressions used with
|
||
=--with-address= are also used by *mu4e*. Unfortunately, PCRE regular expressions
|
||
are *not* generally compatible with Emacs regular expressions. For instance,
|
||
*(foo|bar)* in PCRE syntax has *\(foo\|bar\)* as its Emacs equivalent.
|
||
|
||
The good news is that *mu4e* can automatically translate the regular-expressions,
|
||
if you allow it to, by installing the *pcre2el* Elisp package. See the *mu4e*
|
||
documentation for further details.
|
||
|
||
** --ignored-address _email-address-or-regex_
|
||
Specifies that some e-mail address is to be ignored from the contacts-cache (the
|
||
option can be used multiple times). Such addresses then cannot be found with
|
||
{{{man-link(mu-cfind,1)}}} or in the Mu4e contacts cache.
|
||
|
||
_my-email-address_ can be either a plain e-mail address or a regexp, just like
|
||
for the *--my-address* option.
|
||
|
||
** --max-message-size _size_
|
||
Specifies the maximum size for an e-mail message. Usually, the default of
|
||
100000000 bytes should be fine.
|
||
|
||
** --batch-size _size_
|
||
The number of changes after which they are committed to the database; decreasing
|
||
the value reduces the memory requirements, at the cost of make indexing
|
||
substantially slower. Usually, the default of 250000 should be fine.
|
||
|
||
Batch-size 0 is interpreted as `use the default'.
|
||
|
||
** --support-ngrams
|
||
Whether to enable support for using ngrams in indexing and query parsing; this
|
||
can be useful for languages without explicit word breaks, such as
|
||
Chinese/Japanese/Korean. See *NGRAM SUPPORT* below for details.
|
||
|
||
** --reinit
|
||
Reinitialize the database from an earlier version; that is, create a new empty
|
||
database with the existing settings. This cannot be combined with the other *init*
|
||
options.
|
||
|
||
#+include: "muhome.inc" :minlevel 2
|
||
|
||
* NGRAM SUPPORT
|
||
|
||
*mu*'s underlying Xapian database supports `ngrams', which improve searching for
|
||
languages/scripts that do not have explicit word breaks, such as Chinese,
|
||
Japanese and Korean. It is fairly intrusive, and influences both indexing and
|
||
query-parsing; it is not enabled by default, and is recommended only if you need
|
||
to search for messages written in such languages.
|
||
|
||
When enabled, *mu* automatically uses ngrams automatically. Xapian environment
|
||
variables such as *XAPIAN_CJK_NGRAM* are ignored.
|
||
|
||
#+include: "exit-code.inc" :minlevel 1
|
||
|
||
|
||
* EXAMPLE
|
||
#+begin_example
|
||
$ mu init --maildir=~/Maildir --my-address=alice@example.com --my-address=bob@example.com --ignored-address='/.*reply.*/'
|
||
#+end_example
|
||
|
||
#+include: "prefooter.inc" :minlevel 1
|
||
|
||
* SEE ALSO
|
||
|
||
{{{man-link(mu-index,1)}}},
|
||
{{{man-link(mu-find,1)}}},
|
||
{{{man-link(mu-cfind,1)}}},
|
||
{{{man-link(pcre,3)}}}
|