54 lines
1.4 KiB
Lua
54 lines
1.4 KiB
Lua
local opts = { noremap = true, silent = true }
|
|
|
|
-- "Focus" commands that rely on the Goyo plugin
|
|
vim.api.nvim_set_keymap("n", "<C-a>z", ":Goyo 80<CR>", opts)
|
|
vim.api.nvim_set_keymap("n", "<C-a>q", ":Goyo!<CR>", opts)
|
|
|
|
-- automatically resize goyo when nvim resizes
|
|
vim.api.nvim_create_autocmd("VimResized", {
|
|
callback = function()
|
|
if vim.fn.exists('#goyo') == 1 then
|
|
vim.cmd("normal <C-w>=")
|
|
end
|
|
end,
|
|
})
|
|
|
|
-- hide and unhide lualine when entering and leaving goyo
|
|
|
|
local lualine = require('lualine')
|
|
local grp = vim.api.nvim_create_augroup('goyo_lualine_toggle', { clear = true })
|
|
|
|
local function hide() lualine.hide{ place = {'statusline', 'winbar', 'tabline'} } end
|
|
local function unhide() lualine.hide{ place = {'statusline', 'winbar', 'tabline'}, unhide = true } end
|
|
|
|
|
|
vim.api.nvim_create_autocmd('User', {
|
|
group = grp,
|
|
pattern = 'GoyoEnter',
|
|
callback = function()
|
|
lualine.hide({ place = {'statusline', 'winbar', 'tabline'} })
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd('User', {
|
|
group = grp,
|
|
pattern = 'GoyoLeave',
|
|
callback = function()
|
|
lualine.hide({ place = {'statusline', 'winbar', 'tabline'}, unhide = true })
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd('VimEnter', {
|
|
group = grp,
|
|
once = true,
|
|
callback = function()
|
|
local w = vim.g.goyo_if
|
|
if w then
|
|
vim.schedule(function()
|
|
vim.cmd('BarbarDisable')
|
|
end)
|
|
vim.schedule(hide)
|
|
end
|
|
end,
|
|
})
|