From 3d63df12006d8019c84cd027980cf5755d876388 Mon Sep 17 00:00:00 2001 From: Daniil Tsivinsky Date: Wed, 29 Nov 2023 21:59:36 +0300 Subject: [PATCH] neovim: add zenmode module --- neovim/.config/nvim/after/plugin/remaps.lua | 3 ++ neovim/.config/nvim/lua/daniil/zenmode.lua | 33 +++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 neovim/.config/nvim/lua/daniil/zenmode.lua diff --git a/neovim/.config/nvim/after/plugin/remaps.lua b/neovim/.config/nvim/after/plugin/remaps.lua index e52434c..fd8fb8e 100644 --- a/neovim/.config/nvim/after/plugin/remaps.lua +++ b/neovim/.config/nvim/after/plugin/remaps.lua @@ -36,3 +36,6 @@ vim.keymap.set("n", "", function() end) vim.keymap.set("n", "n", vim.cmd.cnext) vim.keymap.set("n", "N", vim.cmd.cprevious) + +-- zenmode +vim.keymap.set("n", "z", require("daniil.zenmode").toggle) diff --git a/neovim/.config/nvim/lua/daniil/zenmode.lua b/neovim/.config/nvim/lua/daniil/zenmode.lua new file mode 100644 index 0000000..a3cf14d --- /dev/null +++ b/neovim/.config/nvim/lua/daniil/zenmode.lua @@ -0,0 +1,33 @@ +local zenmode = { + enabled = false, +} + +function zenmode.enable() + vim.opt.number = false + vim.opt.relativenumber = false + vim.opt.showtabline = 0 + require("lualine").hide() + vim.diagnostic.disable() + + zenmode.enabled = true +end + +function zenmode.disable() + vim.opt.number = true + vim.opt.relativenumber = true + vim.opt.showtabline = 2 + require("lualine").hide({ unhide = true }) + vim.diagnostic.enable() + + zenmode.enabled = false +end + +function zenmode.toggle() + if zenmode.enabled then + zenmode.disable() + else + zenmode.enable() + end +end + +return zenmode