aboutsummaryrefslogtreecommitdiff
path: root/nvim/lua/plugins/lsp.lua
blob: 17ca0393c8ad0a8d5476d085df7e93b9c14a30d7 (plain)
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
return {
  {
    "neovim/nvim-lspconfig",
    lazy = false,
    config = function()
      local capabilities = vim.lsp.protocol.make_client_capabilities()

      vim.lsp.config.lua_ls = {
        capabilities = capabilities,
        settings = {
          Lua = {
            runtime = {
              version = "LuaJIT",
            },
            diagnostics = {
              globals = { "vim" },
            },
            workspace = {
              checkThirdParty = false,
              library = {
                vim.env.VIMRUNTIME .. "/lua",
                vim.fn.stdpath("config") .. "/lua",
              },
            },
            telemetry = {
              enable = false,
            },
          },
        },
      }

      vim.lsp.config.bashls = {
        capabilities = capabilities,
        filetypes = { "sh", "bash", "zsh" },
      }

      vim.lsp.config.clangd = {
        capabilities = capabilities,
      }

      vim.lsp.config.tsserver = {
        capabilities = capabilities,
      }

      vim.lsp.config.pyright = {
        capabilities = capabilities,
        settings = {
          python = {
            analysis = {
              typeCheckingMode = "basic", -- oder "strict" für strenger
              autoSearchPaths = true,
              useLibraryCodeForTypes = true,
            },
          },
        },
      }

      vim.lsp.enable({
        "bashls", -- npm install -g bash-language-server, pkg install hs-ShellCheck
        "clangd", -- pkg install llvm
        "lua_ls", -- pkg install lua-language-server
        "tsserver", -- npm install -g typescript typescript-language-server
        "pyright", -- npm install -g pyright, brew install pyright
      })
    end,
  },
}