local M = {} M.setup = function() local symbols = { Error = "󰅙", Info = "󰋼", Hint = "󰌵", Warn = "" } for name, icon in pairs(symbols) do local hl = "DiagnosticSign" .. name vim.fn.sign_define(hl, { text = icon, numhl = hl, texthl = hl }) end local lspconfig = require("lspconfig") lspconfig.lua_ls.setup({ settings = { Lua = { runtime = { -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) version = "LuaJIT", }, diagnostics = { -- Get the language server to recognize the `vim` global globals = { "vim", "nixCats", "MiniBufremove" }, }, workspace = { -- Make the server aware of Neovim runtime files library = vim.api.nvim_get_runtime_file("", true), }, -- Do not send telemetry data containing a randomized but unique identifier telemetry = { enable = false, }, }, }, }) lspconfig.nixd.setup({}) lspconfig.marksman.setup({}) lspconfig.tinymist.setup({}) end return M