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" }]
```
Choose between 30-something built in sequences (integers between 0-30)
or define your own list of strings for the progress spinner animation.
Default: 0
Add experimental print setting action. The command is of the form:
print account_name listing.index_style
account_name is currently ignored.
The path, e.g. listing.index_style is split by "." and fed to
DotAddressable lookup trait method. The method checks the first segment
in the path if it matches any of the struct's fields, and then calls the
field's lookup method.
Merge ui crate with root crate.
In preparation for uploading `meli` as a separate crate on crates.io.
Workspace crates will need to be published as well and having a separate
`ui` crate and binary perhaps doesn't make sense anymore.