summaryrefslogtreecommitdiff
path: root/neovim/.config/nvim/lua/plugins/goyo.lua
diff options
context:
space:
mode:
Diffstat (limited to 'neovim/.config/nvim/lua/plugins/goyo.lua')
-rw-r--r--neovim/.config/nvim/lua/plugins/goyo.lua43
1 files changed, 43 insertions, 0 deletions
diff --git a/neovim/.config/nvim/lua/plugins/goyo.lua b/neovim/.config/nvim/lua/plugins/goyo.lua
new file mode 100644
index 0000000..7de7150
--- /dev/null
+++ b/neovim/.config/nvim/lua/plugins/goyo.lua
@@ -0,0 +1,43 @@
+return {
+ {
+ 'junegunn/goyo.vim',
+ cond = function() return vim.fn.exists('g:gui_vimr') == 1 end,
+ dependencies = {
+ {
+ 'junegunn/limelight.vim',
+ },
+ },
+ keys = {
+ { '<leader>z', '<cmd>Goyo<CR>', desc = 'Goyo' },
+ },
+ config = function()
+ local goyo_enter = function()
+ vim.opt.showmode = false
+ vim.opt.showcmd = false
+ vim.opt.scrolloff = 999
+ vim.cmd('Limelight')
+ end
+
+ local goyo_leave = function()
+ vim.opt.showmode = true
+ vim.opt.showcmd = true
+ vim.opt.scrolloff = 5
+ vim.cmd('Limelight!')
+ end
+
+ local goyo_augroup = vim.api.nvim_create_augroup('Goyo', { clear = true })
+ vim.api.nvim_create_autocmd('User',
+ {
+ pattern = 'GoyoEnter',
+ group = goyo_augroup,
+ callback = goyo_enter,
+ })
+ vim.api.nvim_create_autocmd('User',
+ {
+ pattern = 'GoyoLeave',
+ group = goyo_augroup,
+ callback = goyo_leave,
+ })
+ end,
+ },
+}