NOTICE: There was a data loss of the last few months. Accounts and issues created in that timespan are now lost. I apologize for this blunder and sorry for any inconvenience. -- epilys
Quoting the docs at meli.conf(5):
```text
custom_compose_hooks [{ name = String, command = String }]
(optional) Custom compose-hooks that run shell scripts.
compose-hooks run before submitting an e-mail.
They perform draft validation and/or transformations.
If a custom hook exits with an error status or prints output to
stdout and stderr, it will show up in the UI as a notification.
Example:
[composing]
editor_cmd = '~/.local/bin/vim +/^$'
embed = true
custom_compose_hooks = [ { name ="spellcheck", command="aspell --mode email --dont-suggest --ignore-case list" }]
```
//! This module is automatically generated by config_macros.rs.
usesuper::*;
#[derive(Debug,Serialize,Deserialize,Clone)]#[serde(deny_unknown_fields)]pubstructPagerSettingsOverride{#[doc=" Number of context lines when going to next page."]#[doc=" Default: 0"]#[serde(alias="pager-context")]#[serde(default)]pubpager_context: Option<usize>,#[doc=" Stop at the end instead of displaying next mail."]#[doc=" Default: false"]#[serde(alias="pager-stop")]#[serde(default)]pubpager_stop: Option<bool>,#[doc=" Always show headers when scrolling."]#[doc=" Default: true"]#[serde(alias="headers-sticky")]#[serde(default)]pubheaders_sticky: Option<bool>,#[doc=" The height of the pager in mail view, in percent."]#[doc=" Default: 80"]#[serde(alias="pager-ratio")]#[serde(default)]pubpager_ratio: Option<usize>,#[doc=" A command to pipe mail output through for viewing in pager."]#[doc=" Default: None"]#[serde(deserialize_with="non_empty_string")]#[serde(default)]pubfilter: Option<Option<String>>,#[doc=" A command to pipe html output before displaying it in a pager"]#[doc=" Default: None"]#[serde(deserialize_with="non_empty_string",alias="html-filter")]#[serde(default)]pubhtml_filter: Option<Option<String>>,#[doc=" Respect \"format=flowed\""]#[doc=" Default: true"]#[serde(alias="format-flowed")]#[serde(default)]pubformat_flowed: Option<bool>,#[doc=" Split long lines that would overflow on the x axis."]#[doc=" Default: true"]#[serde(alias="split-long-lines")]#[serde(default)]pubsplit_long_lines: Option<bool>,#[doc=" Minimum text width in columns."]#[doc=" Default: 80"]#[serde(alias="minimum-width")]#[serde(default)]pubminimum_width: Option<usize>,#[doc=" Choose `text/html` alternative if `text/plain` is empty in"]#[doc=" `multipart/alternative` attachments."]#[doc=" Default: true"]#[serde(alias="auto-choose-multipart-alternative")]#[serde(default)]pubauto_choose_multipart_alternative: Option<ToggleFlag>,#[doc=" Show Date: in my timezone"]#[doc=" Default: true"]#[serde(alias="show-date-in-my-timezone")]#[serde(default)]pubshow_date_in_my_timezone: Option<ToggleFlag>,#[doc=" A command to launch URLs with. The URL will be given as the first"]#[doc=" argument of the command. Default: None"]#[serde(deserialize_with="non_empty_string")]#[serde(default)]puburl_launcher: Option<Option<String>>,#[doc=" A command to open html files."]#[doc=" Default: None"]#[serde(deserialize_with="non_empty_string",alias="html-open")]#[serde(default)]pubhtml_open: Option<Option<String>>}implDefaultforPagerSettingsOverride{fndefault()-> Self{PagerSettingsOverride{pager_context: None,pager_stop: None,headers_sticky: None,pager_ratio: None,filter: None,html_filter: None,format_flowed: None,split_long_lines: None,minimum_width: None,auto_choose_multipart_alternative: None,show_date_in_my_timezone: None,url_launcher: None,html_open: None}}}
#[derive(Debug,Serialize,Deserialize,Clone)]#[serde(deny_unknown_fields)]pubstructPagerSettingsOverride{#[doc=" Number of context lines when going to next page."]#[doc=" Default: 0"]#[serde(alias="pager-context")]#[serde(default)]pubpager_context: Option<usize>,#[doc=" Stop at the end instead of displaying next mail."]#[doc=" Default: false"]#[serde(alias="pager-stop")]#[serde(default)]pubpager_stop: Option<bool>,#[doc=" Always show headers when scrolling."]#[doc=" Default: true"]#[serde(alias="headers-sticky")]#[serde(default)]pubheaders_sticky: Option<bool>,#[doc=" The height of the pager in mail view, in percent."]#[doc=" Default: 80"]#[serde(alias="pager-ratio")]#[serde(default)]pubpager_ratio: Option<usize>,#[doc=" A command to pipe mail output through for viewing in pager."]#[doc=" Default: None"]#[serde(deserialize_with="non_empty_opt_string")]#[serde(default)]pubfilter: Option<Option<String>>,#[doc=" A command to pipe html output before displaying it in a pager"]#[doc=" Default: None"]#[serde(deserialize_with="non_empty_opt_string",alias="html-filter")]#[serde(default)]pubhtml_filter: Option<Option<String>>,#[doc=" Respect \"format=flowed\""]#[doc=" Default: true"]#[serde(alias="format-flowed")]#[serde(default)]pubformat_flowed: Option<bool>,#[doc=" Split long lines that would overflow on the x axis."]#[doc=" Default: true"]#[serde(alias="split-long-lines")]#[serde(default)]pubsplit_long_lines: Option<bool>,#[doc=" Minimum text width in columns."]#[doc=" Default: 80"]#[serde(alias="minimum-width")]#[serde(default)]pubminimum_width: Option<usize>,#[doc=" Choose `text/html` alternative if `text/plain` is empty in"]#[doc=" `multipart/alternative` attachments."]#[doc=" Default: true"]#[serde(alias="auto-choose-multipart-alternative")]#[serde(default)]pubauto_choose_multipart_alternative: Option<ToggleFlag>,#[doc=" Show Date: in my timezone"]#[doc=" Default: true"]#[serde(alias="show-date-in-my-timezone")]#[serde(default)]pubshow_date_in_my_timezone: Option<ToggleFlag>,#[doc=" A command to launch URLs with. The URL will be given as the first"]#[doc=" argument of the command. Default: None"]#[serde(deserialize_with="non_empty_opt_string")]#[serde(default)]puburl_launcher: Option<Option<String>>,#[doc=" A command to open html files."]#[doc=" Default: None"]#[serde(deserialize_with="non_empty_opt_string",alias="html-open")]#[serde(default)]pubhtml_open: Option<Option<String>>}implDefaultforPagerSettingsOverride{fndefault()-> Self{PagerSettingsOverride{pager_context: None,pager_stop: None,headers_sticky: None,pager_ratio: None,filter: None,html_filter: None,format_flowed: None,split_long_lines: None,minimum_width: None,auto_choose_multipart_alternative: None,show_date_in_my_timezone: None,url_launcher: None,html_open: None}}}
#[derive(Debug,Serialize,Deserialize,Clone)]#[serde(deny_unknown_fields)]pubstructListingSettingsOverride{#[doc=" Number of context lines when going to next page."]#[doc=" Default: 0"]#[serde(alias="context-lines")]#[serde(default)]pubcontext_lines: Option<usize>,#[doc="Show auto-hiding scrollbar in accounts sidebar menu."]#[doc="Default: True"]#[serde(default)]pubshow_menu_scrollbar: Option<bool>,#[doc=" Datetime formatting passed verbatim to strftime(3)."]#[doc=" Default: %Y-%m-%d %T"]#[serde(alias="datetime-fmt")]#[serde(default)]pubdatetime_fmt: Option<Option<String>>,#[doc=" Show recent dates as `X {minutes,hours,days} ago`, up to 7 days."]#[doc=" Default: true"]#[serde(alias="recent-dates")]#[serde(default)]pubrecent_dates: Option<bool>,#[doc=" Show only envelopes that match this query"]#[doc=" Default: None"]#[serde(default)]pubfilter: Option<Option<Query>>,#[serde(alias="index-style")]#[serde(default)]pubindex_style: Option<IndexStyle>,#[doc="Default: \" \""]#[serde(default)]pubsidebar_mailbox_tree_has_sibling: Option<Option<String>>,#[doc="Default: \" \""]#[serde(default)]pubsidebar_mailbox_tree_no_sibling: Option<Option<String>>,#[doc="Default: \" \""]#[serde(default)]pubsidebar_mailbox_tree_has_sibling_leaf: Option<Option<String>>,#[doc="Default: \" \""]#[serde(default)]pubsidebar_mailbox_tree_no_sibling_leaf: Option<Option<String>>,#[doc="Default: ' '"]#[serde(default)]pubsidebar_divider: Option<char>,#[doc="Default: 90"]#[serde(default)]pubsidebar_ratio: Option<usize>,#[doc=" Flag to show if thread entry contains unseen mail."]#[doc=" Default: \"●\""]#[serde(default)]pubunseen_flag: Option<Option<String>>,#[doc=" Flag to show if thread has been snoozed."]#[doc=" Default: \"💤\""]#[serde(default)]pubthread_snoozed_flag: Option<Option<String>>,#[doc=" Flag to show if thread entry has been selected."]#[doc=" Default: \"☑\u{fe0f}\""]#[serde(default)]pubselected_flag: Option<Option<String>>,#[doc=" Flag to show if thread entry contains attachments."]#[doc=" Default: \"📎\""]#[serde(default)]pubattachment_flag: Option<Option<String>>,#[doc=" Should threads with differentiating Subjects show a list of those"]#[doc=" subjects on the entry title?"]#[doc=" Default: \"true\""]#[serde(default)]pubthread_subject_pack: Option<bool>}implDefaultforListingSettingsOverride{fndefault()-> Self{ListingSettingsOverride{context_lines: None,show_menu_scrollbar: None,datetime_fmt: None,recent_dates: None,filter: None,index_style: None,sidebar_mailbox_tree_has_sibling: None,sidebar_mailbox_tree_no_sibling: None,sidebar_mailbox_tree_has_sibling_leaf: None,sidebar_mailbox_tree_no_sibling_leaf: None,sidebar_divider: None,sidebar_ratio: None,unseen_flag: None,thread_snoozed_flag: None,selected_flag: None,attachment_flag: None,thread_subject_pack: None}}}
#[derive(Debug,Serialize,Deserialize,Clone)]#[serde(deny_unknown_fields)]pubstructComposingSettingsOverride{#[doc=" A command to pipe new emails to"]#[doc=" Required"]#[serde(default)]pubsend_mail: Option<SendMail>,#[doc=" Command to launch editor. Can have arguments. Draft filename is given as"]#[doc=" the last argument. If it's missing, the environment variable $EDITOR is"]#[doc=" looked up."]#[serde(alias="editor-command",alias="editor-cmd",alias="editor_cmd")]#[serde(default)]pubeditor_command: Option<Option<String>>,#[doc=" Embed editor (for terminal interfaces) instead of forking and waiting."]#[serde(default)]pubembed: Option<bool>,#[doc=" Set \"format=flowed\" in plain text attachments."]#[doc=" Default: true"]#[serde(alias="format-flowed")]#[serde(default)]pubformat_flowed: Option<bool>,#[doc="Set User-Agent"]#[doc="Default: empty"]#[serde(alias="insert_user_agent")]#[serde(default)]pubinsert_user_agent: Option<bool>,#[doc=" Set default header values for new drafts"]#[doc=" Default: empty"]#[serde(alias="default-header-values")]#[serde(default)]pubdefault_header_values: Option<HashMap<String,String>>,#[doc=" Wrap header preample when editing a draft in an editor. This allows you"]#[doc=" to write non-plain text email without the preamble creating syntax"]#[doc=" errors. They are stripped when you return from the editor. The"]#[doc=" values should be a two element array of strings, a prefix and suffix."]#[doc=" Default: None"]#[serde(alias="wrap-header-preample")]#[serde(default)]pubwrap_header_preamble: Option<Option<(String,String)>>,#[doc=" Store sent mail after successful submission. This setting is meant to be"]#[doc=" disabled for non-standard behaviour in gmail, which auto-saves sent"]#[doc=" mail on its own. Default: true"]#[serde(default)]pubstore_sent_mail: Option<bool>,#[doc=" The attribution line appears above the quoted reply text."]#[doc=" The format specifiers for the replied address are:"]#[doc=" - `%+f` — the sender's name and email address."]#[doc=" - `%+n` — the sender's name (or email address, if no name is included)."]#[doc=" - `%+a` — the sender's email address."]#[doc=" The format string is passed to strftime(3) with the replied envelope's"]#[doc=" date. Default: \"On %a, %0e %b %Y %H:%M, %+f wrote:%n\""]#[serde(default)]pubattribution_format_string: Option<Option<String>>,#[doc=" Whether the strftime call for the attribution string uses the POSIX"]#[doc=" locale instead of the user's active locale"]#[doc=" Default: true"]#[serde(default)]pubattribution_use_posix_locale: Option<bool>,#[doc=" Forward emails as attachment? (Alternative is inline)"]#[doc=" Default: ask"]#[serde(alias="forward-as-attachment")]#[serde(default)]pubforward_as_attachment: Option<ToggleFlag>,#[doc=" Alternative lists of reply prefixes (etc. [\"Re:\", \"RE:\", ...]) to strip"]#[doc=" Default: `[\"Re:\", \"RE:\", \"Fwd:\", \"Fw:\", \"回复:\", \"回覆:\", \"SV:\", \"Sv:\","]#[doc=" \"VS:\", \"Antw:\", \"Doorst:\", \"VS:\", \"VL:\", \"REF:\", \"TR:\", \"TR:\", \"AW:\","]#[doc=" \"WG:\", \"ΑΠ:\", \"Απ:\", \"απ:\", \"ΠΡΘ:\", \"Πρθ:\", \"πρθ:\", \"ΣΧΕΤ:\", \"Σχετ:\","]#[doc=" \"σχετ:\", \"ΠΡΘ:\", \"Πρθ:\", \"πρθ:\", \"Vá:\", \"Továbbítás:\", \"R:\", \"I:\","]#[doc=" \"RIF:\", \"FS:\", \"BLS:\", \"TRS:\", \"VS:\", \"VB:\", \"RV:\", \"RES:\", \"Res\","]#[doc=" \"ENC:\", \"Odp:\", \"PD:\", \"YNT:\", \"İLT:\", \"ATB:\", \"YML:\"]`"]#[serde(alias="reply-prefix-list-to-strip")]#[serde(default)]pubreply_prefix_list_to_strip: Option<Option<Vec<String>>>,#[doc=" The prefix to use in reply subjects. The de facto prefix is \"Re:\"."]#[serde(alias="reply-prefix")]#[serde(default)]pubreply_prefix: Option<String>,#[doc=" Disabled `compose-hooks`."]#[serde(alias="disabled-compose-hooks")]#[serde(default)]pubdisabled_compose_hooks: Option<Vec<String>>}implDefaultforComposingSettingsOverride{fndefault()-> Self{ComposingSettingsOverride{send_mail: None,editor_command: None,embed: None,format_flowed: None,insert_user_agent: None,default_header_values: None,wrap_header_preamble: None,store_sent_mail: None,attribution_format_string: None,attribution_use_posix_locale: None,forward_as_attachment: None,reply_prefix_list_to_strip: None,reply_prefix: None,disabled_compose_hooks: None}}}
#[derive(Debug,Serialize,Deserialize,Clone)]#[serde(deny_unknown_fields)]pubstructComposingSettingsOverride{#[doc=" A command to pipe new emails to"]#[doc=" Required"]#[serde(default)]pubsend_mail: Option<SendMail>,#[doc=" Command to launch editor. Can have arguments. Draft filename is given as"]#[doc=" the last argument. If it's missing, the environment variable $EDITOR is"]#[doc=" looked up."]#[serde(alias="editor-command",alias="editor-cmd",alias="editor_cmd")]#[serde(default)]pubeditor_command: Option<Option<String>>,#[doc=" Embed editor (for terminal interfaces) instead of forking and waiting."]#[serde(default)]pubembed: Option<bool>,#[doc=" Set \"format=flowed\" in plain text attachments."]#[doc=" Default: true"]#[serde(alias="format-flowed")]#[serde(default)]pubformat_flowed: Option<bool>,#[doc="Set User-Agent"]#[doc="Default: empty"]#[serde(alias="insert_user_agent")]#[serde(default)]pubinsert_user_agent: Option<bool>,#[doc=" Set default header values for new drafts"]#[doc=" Default: empty"]#[serde(alias="default-header-values")]#[serde(default)]pubdefault_header_values: Option<HashMap<String,String>>,#[doc=" Wrap header preample when editing a draft in an editor. This allows you"]#[doc=" to write non-plain text email without the preamble creating syntax"]#[doc=" errors. They are stripped when you return from the editor. The"]#[doc=" values should be a two element array of strings, a prefix and suffix."]#[doc=" Default: None"]#[serde(alias="wrap-header-preample")]#[serde(default)]pubwrap_header_preamble: Option<Option<(String,String)>>,#[doc=" Store sent mail after successful submission. This setting is meant to be"]#[doc=" disabled for non-standard behaviour in gmail, which auto-saves sent"]#[doc=" mail on its own. Default: true"]#[serde(default)]pubstore_sent_mail: Option<bool>,#[doc=" The attribution line appears above the quoted reply text."]#[doc=" The format specifiers for the replied address are:"]#[doc=" - `%+f` — the sender's name and email address."]#[doc=" - `%+n` — the sender's name (or email address, if no name is included)."]#[doc=" - `%+a` — the sender's email address."]#[doc=" The format string is passed to strftime(3) with the replied envelope's"]#[doc=" date. Default: \"On %a, %0e %b %Y %H:%M, %+f wrote:%n\""]#[serde(default)]pubattribution_format_string: Option<Option<String>>,#[doc=" Whether the strftime call for the attribution string uses the POSIX"]#[doc=" locale instead of the user's active locale"]#[doc=" Default: true"]#[serde(default)]pubattribution_use_posix_locale: Option<bool>,#[doc=" Forward emails as attachment? (Alternative is inline)"]#[doc=" Default: ask"]#[serde(alias="forward-as-attachment")]#[serde(default)]pubforward_as_attachment: Option<ToggleFlag>,#[doc=" Alternative lists of reply prefixes (etc. [\"Re:\", \"RE:\", ...]) to strip"]#[doc=" Default: `[\"Re:\", \"RE:\", \"Fwd:\", \"Fw:\", \"回复:\", \"回覆:\", \"SV:\", \"Sv:\","]#[doc=" \"VS:\", \"Antw:\", \"Doorst:\", \"VS:\", \"VL:\", \"REF:\", \"TR:\", \"TR:\", \"AW:\","]#[doc=" \"WG:\", \"ΑΠ:\", \"Απ:\", \"απ:\", \"ΠΡΘ:\", \"Πρθ:\", \"πρθ:\", \"ΣΧΕΤ:\", \"Σχετ:\","]#[doc=" \"σχετ:\", \"ΠΡΘ:\", \"Πρθ:\", \"πρθ:\", \"Vá:\", \"Továbbítás:\", \"R:\", \"I:\","]#[doc=" \"RIF:\", \"FS:\", \"BLS:\", \"TRS:\", \"VS:\", \"VB:\", \"RV:\", \"RES:\", \"Res\","]#[doc=" \"ENC:\", \"Odp:\", \"PD:\", \"YNT:\", \"İLT:\", \"ATB:\", \"YML:\"]`"]#[serde(alias="reply-prefix-list-to-strip")]#[serde(default)]pubreply_prefix_list_to_strip: Option<Option<Vec<String>>>,#[doc=" The prefix to use in reply subjects. The de facto prefix is \"Re:\"."]#[serde(alias="reply-prefix")]#[serde(default)]pubreply_prefix: Option<String>,#[doc=" Custom `compose-hooks`."]#[serde(alias="custom-compose-hooks")]#[serde(default)]pubcustom_compose_hooks: Option<Vec<ComposeHook>>,#[doc=" Disabled `compose-hooks`."]#[serde(alias="disabled-compose-hooks")]#[serde(default)]pubdisabled_compose_hooks: Option<Vec<String>>}implDefaultforComposingSettingsOverride{fndefault()-> Self{ComposingSettingsOverride{send_mail: None,editor_command: None,embed: None,format_flowed: None,insert_user_agent: None,default_header_values: None,wrap_header_preamble: None,store_sent_mail: None,attribution_format_string: None,attribution_use_posix_locale: None,forward_as_attachment: None,reply_prefix_list_to_strip: None,reply_prefix: None,custom_compose_hooks: None,disabled_compose_hooks: None}}}