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