###########
# GENERAL #
###########
bind index,pager N search-opposite
bind index,pager \Cu half-up
bind index,pager \Cd half-down
bind index,pager g noop # required to define multikeys binds
bind index,pager <tab> sync-mailbox
macro index,pager ga "<shell-escape>mailsync<enter>" "Sync all IMAP mailboxes"

###########
# SIDEBAR #
###########
bind index,pager \Cj sidebar-next           # Highlight next
bind index,pager \Ck sidebar-prev           # Highlight previous
bind index,pager \Cl sidebar-open           # Open highlighted
# For non vim users, up/down/right also work
bind index,pager B sidebar-toggle-visible   # Toggle sidebar
# See also <sidebar-{page-up,page-down,next-new,prev-new}>

#########
# INDEX #
#########
bind index gg first-entry
bind index G  last-entry
bind index h noop # display-toggle-weed is rubbish in index view
bind index l display-message
bind index p recall-message
bind index R group-reply
bind index <space> collapse-thread
bind index p recall-message

macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"

# Saner copy/move/cd dialogs
macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"
macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
macro index c "<change-folder>?<toggle-mailboxes>" "move a message to a mailbox"

#########
# PAGER #
#########
bind pager h exit
bind pager K previous-undeleted
bind pager J next-undeleted
bind pager k previous-line
bind pager j next-line
bind pager gg top
bind pager G  bottom

bind pager R group-reply
bind pager gh   display-toggle-weed
bind pager ge   extract-keys

macro pager gu "<pipe-message> urlscan <enter>"

##########
# ATTACH #
##########
# http://stevelosh.com/blog/2012/10/the-homely-mutt/
bind attach l view-mailcap

###########
# NOTMUCH #
###########
# https://a3nm.net/git/myconfig/file/mutt/muttrc.html
bind index,pager \Cf vfolder-from-query
bind index,pager z entire-thread
# Addresses autocompetion using notmuch
# https://github.com/neomutt/neomutt/issues/629
set query_command = "notmuch address from:%s"
bind editor <Tab> complete-query
bind editor ^T complete
set query_format="%4c %t %-70.70a %-70.70n %?e?(%e)?"

###########
# COMPOSE #
###########
bind compose p postpone-message
bind compose P pgp-menu

###########
# Browser #
###########
bind browser l select-entry
bind browser h goto-parent

# vim: syntax=neomuttrc