]> git.madduck.net Git - etc/lazyvim.git/blobdiff - .config/lazyvim/after/ftplugin/mail.lua

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Disable concealing in emails
[etc/lazyvim.git] / .config / lazyvim / after / ftplugin / mail.lua
index 39eaf3e1639ce29997a05ad1eca1bc287e4f5564..9cf3d44c1d86266f9a579582730eaad5089510f8 100644 (file)
@@ -13,6 +13,9 @@ vim.b.autoformat = false
 
 -- disable Treesitter format expression for Mail
 vim.opt_local.formatexpr = ""
+
+-- Do not conceal anything (Markdown) in emails going out
+vim.opt_local.conceallevel = 0
 -- }}}
 
 -- {{{ formatting
@@ -23,6 +26,36 @@ vim.opt_local.formatoptions:remove("l") -- would not break lines that were long
 vim.opt_local.commentstring = "> %s" -- commenting means quoting in mails
 -- }}}
 
+-- {{{ autocmds
+vim.api.nvim_create_autocmd({ "BufWrite" }, {
+  buffer = 0,
+  group = vim.api.nvim_create_augroup("squashemptylines", { clear = true }),
+  callback = function()
+    local lines = vim.api.nvim_buf_get_lines(0, 0, -1, false)
+    local ret = {}
+    local count = 0
+    local squash = false
+    for _, line in ipairs(lines) do
+      if line == "" then
+        if not squash then
+          squash = true
+          table.insert(ret, line)
+        else
+          count = count + 1
+        end
+      else
+        squash = false
+        table.insert(ret, line)
+      end
+    end
+    if count > 0 then
+      vim.notify("Squashed " .. count .. " empty line(s)")
+    end
+    vim.api.nvim_buf_set_lines(0, 0, -1, false, ret)
+  end,
+})
+-- }}}
+
 -- {{{ keymaps
 vim.keymap.set("n", "<leader>m", "", { buffer = true, desc = "mail functions" })
 vim.keymap.set("n", "<leader>ms", "", { buffer = true, desc = "subject manipulation" })
@@ -61,7 +94,7 @@ local function profile_keymap(key, profile)
   )
 end
 
-profile_keymap("F1", "official")
+profile_keymap("F1", "main")
 profile_keymap("F2", "pobox")
 profile_keymap("F3", "tahi")
 profile_keymap("F4", "toni")
@@ -71,7 +104,6 @@ profile_keymap("F7", "siby")
 profile_keymap("F8", "debian")
 profile_keymap("F9", "uniwh")
 profile_keymap("F10", "mtfk")
-profile_keymap("F11", "sudetia")
 profile_keymap("F12", "default")
 
 -- }}} profiles