]> git.rmz.io Git - dotfiles.git/blobdiff - nvim/lua/plugins/lsp.lua
lazyvim: absorb lspconfig
[dotfiles.git] / nvim / lua / plugins / lsp.lua
diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua
deleted file mode 100644 (file)
index d020443..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-return {
-  -- lspconfig
-  {
-    "neovim/nvim-lspconfig",
-    ---@class PluginLspOpts
-    opts = function()
-      local keys = require("lazyvim.plugins.lsp.keymaps").get()
-      -- TODO: setup a new mapping for this
-      -- { "gr", "<cmd>Telescope lsp_references<cr>", desc = "References" },
-      keys[#keys+1] = { "gr", false }
-
-      return {
-        diagnostics = {
-          underline = true,
-          update_in_insert = false,
-          virtual_text = {
-            spacing = 4,
-            source = "if_mani",
-            prefix = "●",
-          },
-          severity_sort = true,
-          signs = {
-            text = {
-              [vim.diagnostic.severity.ERROR] = " ",
-              [vim.diagnostic.severity.WARN]  = " ",
-              [vim.diagnostic.severity.HINT]  = " ",
-              [vim.diagnostic.severity.INFO]  = " ",
-            },
-          },
-        },
-        inlay_hints = { enabled = false, },
-        codelens = { enabled = false, },
-        document_highlight = { enabled = true, },
-        capabilities = {
-          workspace = {
-            fileOperations = {
-              didRename = true,
-              willRename = true,
-            },
-          },
-        },
-        format = {
-          formatting_options = nil,
-          timeout_ms = nil,
-        },
-        -- Automatically format on save
-        -- autoformat = false,
-        -- LSP Server Settings
-        ---@type lspconfig.options
-        servers = {
-          lua_ls = {
-            settings = {
-              Lua = {
-                workspace = { checkThirdParty = false, },
-                codeLens = { enable = true, },
-                completion = { callSnippet = "Replace", },
-                doc = { privateName = { "^_" }, },
-                hint = {
-                  enable = true,
-                  setType = false,
-                  paramType = true,
-                  paramName = "Disable",
-                  semicolon = "Disable",
-                  arrayIndex = "Disable",
-                },
-                diagnostics = {
-                  disable = { "missing-fields", },
-                },
-              },
-            },
-          },
-          -- Add clangd extensions
-          -- https://github.com/p00f/clangd_extensions.nvim
-        },
-        -- you can do any additional lsp server setup here
-        -- return true if you don't want this server to be setup with lspconfig
-        ---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
-        setup = {
-          -- example to setup with typescript.nvim
-          -- tsserver = function(_, opts)
-          --   require("typescript").setup({ server = opts })
-          --   return true
-          -- end,
-          -- Specify * to use this function as a fallback for any server
-          -- ["*"] = function(server, opts) end,
-        },
-      }
-    end,
-  },
-
-  -- cmdline tools and lsp servers
-  {
-
-    "williamboman/mason.nvim",
-    cmd = "Mason",
-    keys = { { "<leader>cm", "<cmd>Mason<cr>", desc = "Mason" } },
-    opts = {
-      ensure_installed = {
-        "stylua",
-        "shfmt",
-        -- "flake8",
-      },
-    },
-    ---@param opts MasonSettings | {ensure_installed: string[]}
-    config = function(_, opts)
-      require("mason").setup(opts)
-      local mr = require("mason-registry")
-      local function ensure_installed()
-        for _, tool in ipairs(opts.ensure_installed) do
-          local p = mr.get_package(tool)
-          if not p:is_installed() then
-            p:install()
-          end
-        end
-      end
-      if mr.refresh then
-        mr.refresh(ensure_installed)
-      else
-        ensure_installed()
-      end
-    end,
-  },
-}