dot/.config/nvim/lua/config/autocmds.lua
2026-04-14 15:46:03 +02:00

32 lines
1 KiB
Lua

-- Per-session socket; symlink /tmp/nvim.sock → latest instance for MCP
local sock = "/tmp/nvim-" .. vim.fn.getpid() .. ".sock"
vim.fn.serverstart(sock)
vim.fn.system("ln -sf " .. sock .. " /tmp/nvim.sock")
vim.api.nvim_create_autocmd("VimLeave", {
callback = function()
vim.fn.system("rm -f " .. vim.fn.shellescape(sock))
vim.fn.system("[ \"$(readlink /tmp/nvim.sock)\" = " .. vim.fn.shellescape(sock) .. " ] && rm -f /tmp/nvim.sock || true")
end,
})
vim.o.updatetime = 250
vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]]
if not os.getenv("NVIM_LSP_OMIT_DIR") then
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("lsp", { clear = true }),
callback = function(args)
-- autoformat, if not disabled
if not os.getenv("NVIM_LSP_NO_AUTOFMT") then
vim.api.nvim_create_autocmd("BufWritePre", {
buffer = args.buf,
callback = function()
vim.lsp.buf.format {}
end,
})
end
end
})
end