-- local lsp = require('lsp-zero') --local lsp_zero = require("lsp-zero") --local cmp = require("cmp") --require("luasnip.loaders.from_vscode").lazy_load() --lsp_zero.preset("recommended") --lsp_zero.setup() --lsp_zero.on_attach(function(client_id, bufnr) -- lsp_zero.default_keymaps({ buffer = bufnr }) --end) --require("mason").setup({}) --require("mason-lspconfig").setup({ -- ensure_installed = { "clangd", "rust_analyzer" }, -- handlers = { -- lsp_zero.default_setup, -- }, --}) --cmp.setup({ -- snippet = { -- expand = function(args) -- require("luasnip").lsp_expand(args.body) -- end, -- }, -- window = {}, -- mapping = cmp.mapping.preset.insert({ -- [""] = cmp.mapping.scroll_docs(-4), -- [""] = cmp.mapping.scroll_docs(4), -- [""] = cmp.mapping.complete(), -- [""] = cmp.mapping.abort(), -- [""] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. -- }), -- sources = cmp.config.sources({ -- { name = "nvim_lsp" }, -- { name = "luasnip" }, -- }, { -- { name = "buffer" }, -- }), --}) --function PrintDiagnostics(opts, bufnr, line_nr, client_id) -- bufnr = bufnr or 0 -- line_nr = line_nr or (vim.api.nvim_win_get_cursor(0)[1] - 1) -- opts = opts or { ["lnum"] = line_nr } -- -- local line_diagnostics = vim.diagnostic.get(bufnr, opts) -- if vim.tbl_isempty(line_diagnostics) then -- return -- end -- -- local diagnostic_message = "" -- for i, diagnostic in ipairs(line_diagnostics) do -- diagnostic_message = diagnostic_message .. string.format("%d: %s", i, diagnostic.message or "") -- print(diagnostic_message) -- if i ~= #line_diagnostics then -- diagnostic_message = diagnostic_message .. "\n" -- end -- end -- vim.api.nvim_echo({ { diagnostic_message, "Normal" } }, false, {}) --end --vim.cmd([[ autocmd! CursorHold * lua PrintDiagnostics() ]])