~bitfehler/vomit

The Very Opinionated Mail Interaction Toolkit
Add vmp(1) man page
Fill repo README with some life

refs

master
browse  log 
v1.0.0-alpha.1
release notes 

clone

read-only
https://git.sr.ht/~bitfehler/vomit
read/write
git@git.sr.ht:~bitfehler/vomit

You can also use your local clone with git send-email.

#The Very Opinionated Mail Interaction Tookit

Crates.io builds.sr.ht status

The vomit crate is the shared library at the heart of the Vomit project.

#vmp

Crates.io

vmp is the vomit mail picker!

It is a basic CLI tool which embodies the vomit approach to email: quickly and interactively pick mails (and more) from an m2dir to use their filesystem path with other tools.

The central mechanism that vmp employs is providing an interactive, fuzzy search mechanism, which lets you pick one or more messages very quickly. It then produces the full path to those messages. These paths can then be passed to other tools. Picking mailboxes or even attachments is also possible! Here is a little demo of it in action, first picking an email, then an attachment:

"vmp" example

Based on this demo, here are some examples of what you can do with it:

  • vmp | xargs git am interactively pick a message that contains a patch and apply it (in the current working directory)
  • vmp -A | xargs evince interactively pick an attachment and open it (assuming it is a PDF file)
  • vmp -B -m | xargs rg 'search term' interactively pick multiple mailboxes and ripgrep through their messages

Attachments are made available in $XDG_RUNTIME_DIR, where they will persist, usually until the user's session ends.

#Configuration

vmp can be used without any configuration, but only if a path to the email collection is provided. For example, vmp ~/.mail will work without configuration. To allow omitting this path, a config file needs to be set up. It is per default located at $XDG_CONFIG_HOME/vomit/config.toml, which usually means ~/.config/vomit/config.toml. A configuration file at an arbitrary location can be used by using the global -c <path> flag.

A simple config example:

[<account>]
local = ~/.mail

Multiple accounts can be specified, by default vmp will use the first one. To use a different one, the global flag -a <account> can be used.

Like all Vomit tools, vmp uses the shared "vomit-config" configuration file. See its documentation for more details. Note that it supports many configuration options that vmp does not currently use.