all repos

init.lua @ 83e9ecd

my nvim config

init.lua/lua/plugins/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
---@type LazySpec
return {
  "neovim/nvim-lspconfig",
  event = "BufRead",
  dependencies = {
    "b0o/schemastore.nvim",
    { import = "plugins.lsp.lazydev" },
    { import = "plugins.lsp.null-ls" },
    {
      "j-hui/fidget.nvim",
      dependencies = { "nvim-lspconfig" },
      opts = {
        progress = {
          display = {
            render_limit = 2,
            done_ttl = 2,
          },
        },
      },
    },
    {
      "nvim-cmp",
      dependencies = { "hrsh7th/cmp-nvim-lsp" },
      ---@module "cmp"
      ---@param opts cmp.ConfigSchema
      opts = function(_, opts)
        table.insert(opts.sources, 1, {
          name = "nvim_lsp",
          group_index = 0,
          max_item_count = 12,
        })
      end,
    },
    {
      "RRethy/vim-illuminate",
      dependencies = { "nvim-lspconfig" },
      opts = {
        providers = { "lsp", "treesitter" },
        filetypes_denylist = {
          "NvimTree",
          "packer",
          "NeogitStatus",
          "TelescopePrompt",
        },
      },
      config = function(_, opts)
        require("illuminate").configure(opts)
      end,
    },
  },
  config = function()
    for name, conf in pairs(require "plugins.lsp.servers") do
      require "plugins.lsp.attach"
      require("lspconfig")[name].setup(vim.tbl_extend("force", {
        flags = { debounce_text_changes = 150 },
        capabilities = require("cmp_nvim_lsp").default_capabilities(),
      }, conf))
    end
  end,
}