فهرست منبع

feat: masonn null-ls dap

opalmay 2 سال پیش
والد
کامیت
a14e9e65bb
4فایلهای تغییر یافته به همراه42 افزوده شده و 8 حذف شده
  1. 26 0
      lua/lvim/core/mason.lua
  2. 7 7
      lua/lvim/lsp/null-ls/init.lua
  3. 3 1
      lua/lvim/plugins.lua
  4. 6 0
      snapshots/default.json

+ 26 - 0
lua/lvim/core/mason.lua

@@ -49,6 +49,16 @@ function M.config()
       -- 3. The asset name (e.g. "rust-analyzer-v0.3.0-x86_64-unknown-linux-gnu.tar.gz")
       download_url_template = "https://github.com/%s/releases/download/%s/%s",
     },
+    null_ls = {
+      ensure_installed = {},
+      automatic_installation = false,
+      automatic_setup = true,
+    },
+    dap = {
+      ensure_installed = {},
+      automatic_installation = false,
+      automatic_setup = true,
+    },
   }
 end
 
@@ -80,10 +90,26 @@ function M.setup()
   if not status_ok then
     return
   end
+  local mason_null_ls_ok, mason_null_ls = pcall(reload, "mason-null-ls")
+  if not mason_null_ls_ok then
+    return
+  end
 
   add_to_path(lvim.builtin.mason.PATH == "append")
 
   mason.setup(lvim.builtin.mason)
+  mason_null_ls.setup(lvim.builtin.mason.null_ls)
+  if lvim.builtin.mason.null_ls.automatic_setup then
+    mason_null_ls.setup_handlers()
+  end
+
+  -- local mason_dap_ok, mason_dap = pcall(reload, "mason-nvim-dap")
+  -- if mason_dap_ok then
+  --   mason_dap.setup()
+  --   if lvim.builtin.mason.dap.automatic_setup then
+  --     mason_dap.setup_handlers()
+  --   end
+  -- end
 end
 
 return M

+ 7 - 7
lua/lvim/lsp/null-ls/init.lua

@@ -3,14 +3,14 @@ local M = {}
 local Log = require "lvim.core.log"
 
 function M.setup()
-  local status_ok, null_ls = pcall(require, "null-ls")
-  if not status_ok then
-    Log:error "Missing null-ls dependency"
-    return
-  end
+  -- local status_ok, null_ls = pcall(require, "null-ls")
+  -- if not status_ok then
+  --   Log:error "Missing null-ls dependency"
+  --   return
+  -- end
 
-  local default_opts = require("lvim.lsp").get_common_opts()
-  null_ls.setup(vim.tbl_deep_extend("force", default_opts, lvim.lsp.null_ls.setup))
+  -- local default_opts = require("lvim.lsp").get_common_opts()
+  -- null_ls.setup(vim.tbl_deep_extend("force", default_opts, lvim.lsp.null_ls.setup))
 end
 
 return M

+ 3 - 1
lua/lvim/plugins.lua

@@ -17,7 +17,7 @@ local core_plugins = {
       settings.current.automatic_installation = false
     end,
     lazy = true,
-    dependencies = "mason.nvim",
+    dependencies = { "mason.nvim", "mason-null-ls.nvim", "mason-nvim-dap.nvim" },
   },
   { "tamago324/nlsp-settings.nvim", cmd = "LspSettings", lazy = true },
   { "jose-elias-alvarez/null-ls.nvim", lazy = true },
@@ -29,6 +29,8 @@ local core_plugins = {
     cmd = { "Mason", "MasonInstall", "MasonUninstall", "MasonUninstallAll", "MasonLog" },
     lazy = true,
   },
+  { "jay-babu/mason-null-ls.nvim", lazy = true },
+  { "jay-babu/mason-nvim-dap.nvim", lazy = true, enabled = lvim.builtin.dap.active },
   {
     "folke/tokyonight.nvim",
     lazy = not vim.startswith(lvim.colorscheme, "tokyonight"),

+ 6 - 0
snapshots/default.json

@@ -50,6 +50,12 @@
   "lunar.nvim": {
     "commit": "29eedf7"
   },
+  "mason-nvim-dap": {
+    "commit": "4feb21a"
+  },
+  "mason-null-ls.nvim": {
+    "commit": "13c6ab4"
+  },
   "mason-lspconfig.nvim": {
     "commit": "53f3a8b"
   },