-- 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