32 lines
1 KiB
Lua
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
|