local lsp_attach = require "pi.lsp.attach" local lsp_flags = require "pi.lsp.flags" return function(ops) local capabilities = require("blink.cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities()) return vim.tbl_extend("force", { cmd = { "lua-language-server" }, filetypes = { "lua" }, capabilities = capabilities, on_attach = lsp_attach, flags = lsp_flags, settings = { Lua = { runtime = { version = "LuaJIT", }, diagnostics = { globals = { "vim" }, }, workspace = { library = vim.api.nvim_get_runtime_file("", true), checkThirdParty = false, }, telemetry = { enable = false, }, hint = { enable = true, -- Disable some problematic hints that might cause position issues setType = false, paramType = true, paramName = "Disable", -- Can be "All", "Literal", "Disable" semicolon = "Disable", -- Can be "All", "SameLine", "Disable" arrayIndex = "Disable", -- Can be "All", "Auto", "Disable" }, completion = { callSnippet = "Replace", }, }, }, }, ops) end