trace nix vim plugins revisions
fix too long json strings not being processed #98
fix action based on multiple ids #147
Vim plugin for email management based on the himalaya-cli.
First you need to install and configure the himalaya CLI. Then you can install this plugin with your favorite plugin manager:
use "https://git.sr.ht/~soywod/himalaya-vim"
:PackerSync
Plug 'https://git.sr.ht/~soywod/himalaya-vim'
:PlugInstall
It is highly recommanded to have those Vim options on:
syntax on
filetype plugin on
set hidden
g:himalaya_executable
Defines a custom path for the himalaya binary. Defaults to himalaya
.
g:himalaya_folder_picker
Defines the provider used for selecting folders (default keybind:
gm
):
native
(default): a vim native inputfzf
: https://github.com/junegunn/fzf.vimtelescope
: https://github.com/nvim-telescope/telescope.nvimIf no value given, the first loaded (and available) provider will be used (telescope > fzf > native).
let g:himalaya_folder_picker = 'native' | 'fzf' | 'telescope'
g:himalaya_folder_picker_telescope_preview
Enables folder preview when picking a folder with the telescope.nvim
provider.
let g:himalaya_folder_picker_telescope_preview = 1
g:himalaya_complete_contact_cmd
Defines the command to use for contact completion. When this is set,
completefunc
will be set when composing emails so that contacts can
be completed with <C-x><C-u>
.
The command must print each possible result on its own line. Each line
must contain tab-separated fields; the first must be the email
address, and the second, if present, must be the name. %s
in the
command will be replaced with the search query.
let g:himalaya_complete_contact_cmd = '<your completion command>'
With the native picker (default):
With the telescope.nvim picker:
With the fzf.vim picker:
:Himalaya
Function | Keybind |
---|---|
Change the current folder | gm |
Show previous page | gp |
Show next page | gn |
Read email under cursor | <Enter> |
Write a new email | gw |
Reply to the email under cursor | gr |
Reply all to the email under cursor | gR |
Forward the email under cursor | gf |
Download all attachments of email under cursor | ga |
Copy the email under cursor | gC |
Move the email under cursor | gM |
Delete email(s) under cursor or visual selection | gD |
Keybinds can be customized:
nmap gm <plug>(himalaya-folder-select)
nmap gp <plug>(himalaya-folder-select-previous-page)
nmap gn <plug>(himalaya-folder-select-next-page)
nmap <cr> <plug>(himalaya-email-read)
nmap gw <plug>(himalaya-email-write)
nmap gr <plug>(himalaya-email-reply)
nmap gR <plug>(himalaya-email-reply-all)
nmap gf <plug>(himalaya-email-forward)
nmap ga <plug>(himalaya-email-download-attachments)
nmap gC <plug>(himalaya-email-copy)
nmap gM <plug>(himalaya-email-move)
nmap gD <plug>(himalaya-email-delete)
Function | Keybind |
---|---|
Write a new email | gw |
Reply to the email | gr |
Reply all to the email | gR |
Forward the email | gf |
Download all email attachments | ga |
Copy the email | gC |
Move the email | gM |
Delete the email | gD |
Keybinds can be customized:
nmap gw <plug>(himalaya-email-write)
nmap gr <plug>(himalaya-email-reply)
nmap gR <plug>(himalaya-email-reply-all)
nmap gf <plug>(himalaya-email-forward)
nmap ga <plug>(himalaya-email-download-attachments)
nmap gC <plug>(himalaya-email-copy)
nmap gM <plug>(himalaya-email-move)
nmap gD <plug>(himalaya-email-delete)
Function | Keybind |
---|---|
Add attachment | ga |
Keybinds can be customized:
nmap ga <plug>(himalaya-email-add-attachment)
When you exit this special buffer, you will be prompted 4 choices:
send
: sends the emaildraft
: saves the email locallyquit
: quits the buffer without savingcancel
: goes back to the email editionThe development environment is managed by
Nix. Running nix-shell
will spawn
a shell with everything you need to get started with this plugin:
# starts a nix shell
$ nix-shell
# starts Vim and the :Himalaya command
$ vim +Himalaya
# starts Neovim and the :Himalaya command
$ nvim +Himalaya
If you find a bug, please send an email at ~soywod/pimalaya@todo.sr.ht.
If you have a question, please send an email at ~soywod/pimalaya@lists.sr.ht.
If you want to propose a feature or fix a bug, please send a patch at ~soywod/pimalaya@lists.sr.ht using git send-email (see this guide on how to configure it).
If you want to subscribe to the mailing list, please send an email at ~soywod/pimalaya+subscribe@lists.sr.ht.
If you want to unsubscribe to the mailing list, please send an email at ~soywod/pimalaya+unsubscribe@lists.sr.ht.
If you want to discuss about the project, feel free to join the Matrix workspace #pimalaya.himalaya or contact me directly @soywod.
Special thanks to the nlnet foundation that helped Himalaya to receive financial support from the NGI Assure program of the European Commission in September, 2022.