swaydots

my dotfiles
git clone https://git.awy.one/swaydots.git
Log | Files | Refs | README | LICENSE

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 }