From 3d5db16dcf5b8647bb568bde6cd9d2cd2dedcd2b Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Wed, 15 May 2024 01:41:11 +0200 Subject: Add venn plugin --- fnl/plugins/venn.fnl | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 fnl/plugins/venn.fnl (limited to 'fnl') diff --git a/fnl/plugins/venn.fnl b/fnl/plugins/venn.fnl new file mode 100644 index 0000000..037fcbc --- /dev/null +++ b/fnl/plugins/venn.fnl @@ -0,0 +1,33 @@ +;; 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))))) + +(fn config [] + (vim.keymap.set :n :v (fn [] + (toggle)) + {:noremap true :desc "Toggle Venn Diagram"})) + +{1 :jbyuki/venn.nvim : config} -- cgit v1.2.3-70-g09d2