;; Draw ASCII diagrams in Neovim (lambda enable [win] (tset (. vim.w win) :venn_enabled true) (set vim.wo.virtualedit :all) (vim.api.nvim_buf_set_keymap 0 :n :J "j:VBox" {:noremap true}) (vim.api.nvim_buf_set_keymap 0 :n :K "k:VBox" {:noremap true}) (vim.api.nvim_buf_set_keymap 0 :n :L "l:VBox" {:noremap true}) (vim.api.nvim_buf_set_keymap 0 :n :H "h:VBox" {:noremap true}) (vim.api.nvim_buf_set_keymap 0 :v :f ":VBox" {:noremap true})) (lambda disable [win] (set vim.wo.virtualedit "") (vim.api.nvim_buf_del_keymap 0 :n :J) (vim.api.nvim_buf_del_keymap 0 :n :K) (vim.api.nvim_buf_del_keymap 0 :n :L) (vim.api.nvim_buf_del_keymap 0 :n :H) (vim.api.nvim_buf_del_keymap 0 :v :f) (tset (. vim.w win) :venn_enabled nil)) (lambda toggle [] (let [win (vim.api.nvim_get_current_win)] (let [enabled (vim.inspect (. (. vim.w win) :venn_enabled))] (if (= enabled :nil) (enable win) (disable win))))) (local keys [{1 :v 2 (fn [] (toggle)) :desc "Toggle Venn Diagram"}]) {1 :jbyuki/venn.nvim : keys}