lsp-config.lua (2646B)
1 return { 2 { 3 "neovim/nvim-lspconfig", 4 config = function() 5 local capabilities = require('cmp_nvim_lsp').default_capabilities() 6 local lspconfig = require("lspconfig") 7 lspconfig.clangd.setup({ 8 capabilities = capabilities, 9 }) 10 lspconfig.rust_analyzer.setup({ 11 settings = { 12 ["rust-analyzer"] = { 13 cargo = { allFeatures = true }, 14 } 15 } 16 }) 17 lspconfig.lua_ls.setup({ 18 capabilities = capabilities, 19 }) 20 lspconfig.html.setup({ 21 capabilities = capabilities, 22 }) 23 lspconfig.cssls.setup({ 24 capabilities = capabilities, 25 }) 26 lspconfig.jsonls.setup({ 27 capabilities = capabilities, 28 }) 29 lspconfig.yamlls.setup({ 30 settings = { 31 yaml = { 32 -- schemas = { 33 -- ["https://raw.githubusercontent.com/instrumenta/kubernetes-json-schema/master/v1.17.0-standalone-strict/all.json"] = "/*.k8s.yaml", 34 -- } 35 schemas = { 36 kubernetes = "*.yaml", 37 ["http://json.schemastore.org/github-workflow"] = ".github/workflows/*", 38 ["http://json.schemastore.org/github-action"] = ".github/action.{yml,yaml}", 39 ["http://json.schemastore.org/ansible-stable-2.9"] = "roles/tasks/*.{yml,yaml}", 40 ["http://json.schemastore.org/kustomization"] = "kustomization.{yml,yaml}", 41 ["http://json.schemastore.org/ansible-playbook"] = "*play*.{yml,yaml}", 42 ["http://json.schemastore.org/chart"] = "Chart.{yml,yaml}", 43 -- ["https://json.schemastore.org/gitlab-ci"] = "*gitlab-ci*.{yml,yaml}", 44 ["https://gitlab.com/gitlab-org/gitlab/-/raw/master/app/assets/javascripts/editor/schema/ci.json"] = "*gitlab-ci*.{yml,yaml}", 45 ["https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json"] = "*docker-compose*.{yml,yaml}", 46 ["https://raw.githubusercontent.com/argoproj/argo-workflows/master/api/jsonschema/schema.json"] = "*flow*.{yml,yaml}", 47 }, 48 } 49 } 50 }) 51 vim.diagnostic.config({ 52 virtual_text = { 53 prefix = '', 54 spacing = 4, 55 }, 56 signs = true, 57 underline = true, 58 -- update_in_insert = false, 59 severity_sort = true, 60 }) 61 vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) 62 vim.keymap.set("n", "<leader>gd", vim.lsp.buf.definition, {}) 63 vim.keymap.set("n", "<leader>gr", vim.lsp.buf.references, {}) 64 vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, {}) 65 end 66 } 67 }