Files

37 lines
1.4 KiB
Lua
Raw Permalink Normal View History

-- Polish configuration: Final setup and overrides
-- This runs last in the setup process
-- Remove <leader>h mapping (conflicts with Telescope)
vim.api.nvim_del_keymap("n", "<leader>h")
-- Screen session integration: Handle suspend/resume gracefully
local screen_augroup = vim.api.nvim_create_augroup("ScreenIntegration", { clear = true })
-- Before suspension (Screen detach), save all buffers
vim.api.nvim_create_autocmd("VimSuspend", {
group = screen_augroup,
callback = function()
-- Save all modified buffers before suspension
vim.cmd "silent! wa"
-- Save session if in a Screen session
if vim.env.STY ~= nil and vim.env.STY ~= "" then
local session_name = vim.env.STY:match "[^%.]+%.(.+)"
vim.notify("Suspending from Screen session: " .. (session_name or vim.env.STY), vim.log.levels.INFO)
end
end,
desc = "Save all buffers before Screen detach/suspension",
})
-- After resume from suspension (Screen reattach)
vim.api.nvim_create_autocmd("VimResume", {
group = screen_augroup,
callback = function()
-- Check for external file changes after resuming
vim.cmd "checktime"
if vim.env.STY ~= nil and vim.env.STY ~= "" then
local session_name = vim.env.STY:match "[^%.]+%.(.+)"
vim.notify("Resumed in Screen session: " .. (session_name or vim.env.STY), vim.log.levels.INFO)
end
end,
desc = "Check for file changes after Screen reattach/resume",
})