all repos

init.lua @ 68de68edc91ea608f200dc5335404df84a18552f

my nvim config

init.lua/lua/configs/lsp/init.lua(view raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
require "configs.lsp.diagnostic"()
require "configs.lsp.null-ls"
require("nvim-lsp-installer").setup {
  ensure_installed = { "sumneko_lua" },
}

local lspconfig = require "lspconfig"
local options = {
  on_attach = require "configs.lsp.attach",
  flags = { debounce_text_changes = 150 },
  capabilities = require("cmp_nvim_lsp").update_capabilities(
    vim.lsp.protocol.make_client_capabilities()
  ),
}

local servers = {
  rnix = {},
  denols = {},
  yamlls = {
    settings = {
      yaml = {
        schemaStore = {
          enable = true,
          url = "https://www.schemastore.org/api/json/catalog.json",
        },
      },
    },
  },
  rust_analyzer = {
    settings = {
      ["rust-analyzer"] = {
        cargo = { allFeatures = true },
        checkOnSave = {
          command = "clippy",
          extraArgs = { "--no-deps" },
        },
      },
    },
  },
  gopls = {
    settings = {
      gopls = {
        linksInHover = false,
        analyses = {
          unusedparams = true,
          unreachable = true,
        },
        staticcheck = true,
        memoryMode = "Normal",
      },
    },
  },
  pyright = {
    python = {
      disableOrganizeImports = true,
      autoSearchPaths = true,
      analysis = { useLibraryCodeForTypes = false },
    },
  },
}

for name, conf in pairs(servers) do
  lspconfig[name].setup(vim.tbl_extend("force", options, conf))
end

lspconfig.sumneko_lua.setup(require("lua-dev").setup {
  lspconfig = options,
})