Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions ftplugin/mail.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
if vim.startswith(vim.fs.basename(vim.api.nvim_buf_get_name(0)), "thread:") then
vim.opt_local.foldmethod = "marker"
vim.opt_local.foldlevel = 0

vim.api.nvim_buf_create_user_command(0, "TagAdd", function(arg)
require("notmuch.tag").thread_add_tag(arg.args)
end, {
complete = require("notmuch.completion").comp_tags,
nargs = "+",
})
vim.api.nvim_buf_create_user_command(0, "TagRm", function(arg)
require("notmuch.tag").thread_rm_tag(arg.args)
end, {
complete = require("notmuch.completion").comp_tags,
nargs = "+",
})
vim.api.nvim_buf_create_user_command(0, "TagToggle", function(arg)
require("notmuch.tag").thread_toggle_tag(arg.args)
end, {
complete = require("notmuch.completion").comp_tags,
nargs = "+",
})
vim.api.nvim_buf_create_user_command(0, "FollowPatch", function()
local line = vim.api.nvim_win_get_cursor(0)[1]
require("notmuch.attach").follow_github_patch(line)
end, {})

vim.keymap.set("n", "U", function() require("notmuch.attach").get_urls_from_cursor_msg() end, { buffer = true })
vim.keymap.set("n", "a", function() require("notmuch.attach").get_attachments_from_cursor_msg() end, { buffer = true })
vim.keymap.set("n", "r", function() require("notmuch.refresh").refresh_thread_buffer() end, { buffer = true })
vim.keymap.set("n", "C", function() require("notmuch.send").compose() end, { buffer = true })
vim.keymap.set("n", "R", function() require("notmuch.send").reply() end, { buffer = true })
vim.keymap.set("n", "q", function() require("notmuch.util").quit_or_bwipeout() end, { buffer = true })

vim.keymap.set("n", "+", ":TagAdd<Space>", { buffer = true })
vim.keymap.set("n", "-", ":TagRm<Space>", { buffer = true })
vim.keymap.set("n", "=", ":TagToggle<Space>", { buffer = true })

vim.keymap.set("n", "<Tab>", "zj", { buffer = true, silent = true })
vim.keymap.set("n", "<S-Tab>", "zk", { buffer = true, silent = true })
vim.keymap.set("n", "<Enter>", "za", { buffer = true, silent = true })
end
23 changes: 0 additions & 23 deletions ftplugin/mail.vim

This file was deleted.

4 changes: 4 additions & 0 deletions ftplugin/notmuch-attach.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
vim.keymap.set("n", "q", function() require("notmuch.util").quit_or_bwipeout() end, { buffer = true })
vim.keymap.set("n", "v", function() require("notmuch.attach").view_attachment_part() end, { buffer = true })
vim.keymap.set("n", "o", function() require("notmuch.attach").open_attachment_part() end, { buffer = true })
vim.keymap.set("n", "s", function() require("notmuch.attach").save_attachment_part(nil, true) end, { buffer = true })
5 changes: 0 additions & 5 deletions ftplugin/notmuch-attach.vim

This file was deleted.

12 changes: 12 additions & 0 deletions ftplugin/notmuch-hello.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
-- welcome screen displaying all tags available to search
local keymaps = {
{ "<CR>", function() require("notmuch.notmuch").search_terms("tag:" .. vim.api.nvim_get_current_line()) end},
{ "c", function() require("notmuch.notmuch").count("tag:" .. vim.api.nvim_get_current_line()) end},
{ "q", function() require("notmuch.util").quit_or_bwipeout() end},
{ "r", function() require("notmuch.refresh").refresh_hello_buffer() end},
{ "C", function() require("notmuch.send").compose() end},
{ "%", function() require("notmuch.sync").sync_maildir() end},
}
for _, keymap in ipairs(keymaps) do
vim.keymap.set("n", keymap[1], keymap[2], { buffer = true })
end
10 changes: 0 additions & 10 deletions ftplugin/notmuch-hello.vim

This file was deleted.

50 changes: 50 additions & 0 deletions ftplugin/notmuch-threads.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
vim.opt_local.wrap = false

vim.api.nvim_buf_create_user_command(0, "DelThread", function(arg)
local line1, line2 = arg.line1, arg.line2
require("notmuch.tag").thread_add_tag("del", line1, line2)
require("notmuch.tag").thread_rm_tag("inbox", line1, line2)
vim.opt_local.modifiable = true
vim.api.nvim_buf_set_lines(0, math.min(line1, line2) - 1, math.max(line1, line2), true, {})
vim.opt_local.modifiable = false
end, {
range = true,
})
vim.api.nvim_buf_create_user_command(0, "TagAdd", function(arg)
require("notmuch.tag").thread_add_tag(arg.args, arg.line1, arg.line2)
end, {
complete = require("notmuch.completion").comp_tags,
range = true,
nargs = "+",
})
vim.api.nvim_buf_create_user_command(0, "TagRm", function(arg)
require("notmuch.tag").thread_rm_tag(arg.args, arg.line1, arg.line2)
end, {
complete = require("notmuch.completion").comp_tags,
range = true,
nargs = "+",
})

vim.keymap.set("n", "<CR>", function() require("notmuch.notmuch").show_thread() end, { buffer = true })
vim.keymap.set("n", "r", function() require("notmuch.refresh").refresh_search_buffer() end, { buffer = true })
vim.keymap.set("n", "q", function() require("notmuch.util").quit_or_bwipeout() end, { buffer = true })
vim.keymap.set("n", "%", function() require("notmuch.sync").sync_maildir() end, { buffer = true })
vim.keymap.set("n", "C", function() require("notmuch.send").compose() end, { buffer = true })
vim.keymap.set("n", "+", ":TagAdd<Space>", { buffer = true })
vim.keymap.set("x", "+", ":TagAdd<Space>", { buffer = true })
vim.keymap.set("n", "-", ":TagRm<Space>", { buffer = true })
vim.keymap.set("x", "-", ":TagRm<Space>", { buffer = true })
vim.keymap.set("n", "=", ":TagToggle<Space>", { buffer = true })
vim.keymap.set("x", "=", ":TagToggle<Space>", { buffer = true })
vim.keymap.set("n", "a", "<Cmd>TagToggle inbox<CR>j", { buffer = true })
vim.keymap.set("x", "a", ":TagToggle inbox<CR>", { buffer = true })
vim.keymap.set("n", "A", "<Cmd>TagRm inbox unread<CR>j", { buffer = true })
vim.keymap.set("x", "A", ":TagRm inbox unread<CR>", { buffer = true })
vim.keymap.set("n", "x", "<Cmd>TagToggle unread<CR>", { buffer = true })
vim.keymap.set("x", "x", ":TagToggle unread<CR>", { buffer = true })
vim.keymap.set("n", "f", "<Cmd>TagToggle flagged<CR>j", { buffer = true })
vim.keymap.set("x", "f", ":TagToggle flagged<CR>", { buffer = true })
vim.keymap.set("n", "dd", "<Cmd>DelThread<CR>", { buffer = true })
vim.keymap.set("x", "d", ":DelThread<CR>", { buffer = true })
vim.keymap.set("n", "D", function() require("notmuch.delete").purge_del() end, { buffer = true })
vim.keymap.set("n", "o", function() require("notmuch.notmuch").reverse_sort_threads() end, { buffer = true })
35 changes: 0 additions & 35 deletions ftplugin/notmuch-threads.vim

This file was deleted.