More neovim settings updates
diff --git a/modules/neovim/venn/default.nix b/modules/neovim/venn/default.nix
new file mode 100644
index 0000000..dae9bc6
--- /dev/null
+++ b/modules/neovim/venn/default.nix
@@ -0,0 +1,10 @@
+{pkgs, ...}: {
+ programs.neovim = {
+ plugins = [
+ pkgs.vimPlugins.venn-nvim
+ ];
+ extraConfig = ''
+ source ${./venn.lua}
+ '';
+ };
+}
diff --git a/modules/neovim/venn/venn.lua b/modules/neovim/venn/venn.lua
new file mode 100644
index 0000000..2a71e39
--- /dev/null
+++ b/modules/neovim/venn/venn.lua
@@ -0,0 +1,27 @@
+-- venn.nvim: enable or disable keymappings
+function _G.Toggle_venn()
+ local venn_enabled = vim.inspect(vim.b.venn_enabled)
+ if venn_enabled == "nil" then
+ vim.b.venn_enabled = true
+ vim.cmd[[setlocal ve=all]]
+ -- draw a line on HJKL keystokes
+ vim.cmd("call HardTimeOff()")
+ vim.api.nvim_buf_set_keymap(0, "n", "J", "<C-v>j:VBox<CR>", {noremap = true})
+ vim.api.nvim_buf_set_keymap(0, "n", "K", "<C-v>k:VBox<CR>", {noremap = true})
+ vim.api.nvim_buf_set_keymap(0, "n", "L", "<C-v>l:VBox<CR>", {noremap = true})
+ vim.api.nvim_buf_set_keymap(0, "n", "H", "<C-v>h:VBox<CR>", {noremap = true})
+ -- draw a box by pressing "f" with visual selection
+ vim.api.nvim_buf_set_keymap(0, "v", "f", ":VBox<CR>", {noremap = true})
+ print("Enabled draw-mode")
+ else
+ vim.cmd("call HardTimeOn()")
+ vim.cmd[[setlocal ve=]]
+ vim.cmd[[mapclear <buffer>]]
+ vim.b.venn_enabled = nil
+ print("Disabled draw-mode")
+ end
+end
+-- toggle keymappings for venn using <leader>v
+vim.api.nvim_set_keymap('n', '<leader>d', ":lua Toggle_venn()<CR>", { noremap = true})
+vim.api.nvim_set_keymap('n', '<leader>v', ":lua Toggle_venn()<CR>", { noremap = true})
+