diff --git a/lua/core/config.lua b/lua/core/config.lua index 1c50f9d..2b46f1c 100644 --- a/lua/core/config.lua +++ b/lua/core/config.lua @@ -34,6 +34,8 @@ config = { null_ls_sources = opt("null_ls_sources", {}), whichkey = opt("whichkey", {}), coderunner = opt("coderunner", {}), + null_ls_ensure_installed = opt("null_ls_ensure_installed", {}), + dap_ensure_installed = opt("dap_ensure_installed", {}), } return config diff --git a/lua/custom/dashboard.lua b/lua/custom/dashboard.lua index d57e52d..4a4c033 100644 --- a/lua/custom/dashboard.lua +++ b/lua/custom/dashboard.lua @@ -22,4 +22,4 @@ -- 1 startify model -- 2 dashboard model -vim.g.pcode_model = 2 -- isi dengan 1 atau 2 untuk model dashboard +vim.g.pcode_model = 1 -- isi dengan 1 atau 2 untuk model dashboard diff --git a/lua/custom/default.lua b/lua/custom/default.lua index 191bab8..793d623 100644 --- a/lua/custom/default.lua +++ b/lua/custom/default.lua @@ -93,6 +93,9 @@ vim.g.pcode_unregister_lsp = { } -- https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md +vim.g.pcode_null_ls_ensure_installed = { + "stylua", +} local formatting = {} local diagnostics = {} vim.g.pcode_null_ls_sources = { @@ -100,6 +103,12 @@ vim.g.pcode_null_ls_sources = { diagnostics.flake8, -- tambahkan di bawah sini } +-- dap instal hanya support linux dan mac +-- https://github.com/jay-babu/mason-nvim-dap.nvim/blob/main/lua/mason-nvim-dap/mappings/source.lua +vim.g.pcode_dap_ensure_installed = { + -- "python", +} + -- https://github.com/folke/which-key.nvim vim.g.pcode_whichkey = { -- contoh penambahan diff --git a/lua/user/lsp/null-ls.lua b/lua/user/lsp/null-ls.lua index 61298ba..cc27bf4 100644 --- a/lua/user/lsp/null-ls.lua +++ b/lua/user/lsp/null-ls.lua @@ -11,12 +11,24 @@ local diagnostics = null_ls.builtins.diagnostics local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) local sources = {} +local ensure_installed = {} local data_exists, data = pcall(require, "core.config") if data_exists then for _, cfg in pairs(data.null_ls_sources) do - table.insert(sources, cfg) + sources = vim.tbl_deep_extend("force", cfg, sources) end + -- load data null-ls + for _, nullls in pairs(data.null_ls_ensure_installed) do + table.insert(ensure_installed, nullls) + end +end + +local mason_ok, mason_null_ls = pcall(require, "mason-null-ls") +if mason_ok then + mason_null_ls.setup({ + ensure_installed = ensure_installed, + }) end local run = 0 @@ -31,6 +43,7 @@ end if run == 1 then null_ls.setup({ debug = false, + ensure_installed = ensure_installed, sources = sources, --sources = { --formatting.prettier.with({ extra_args = { "--no-semi", "--single-quote", "--jsx-single-quote" } }), @@ -66,6 +79,7 @@ if run == 1 then else null_ls.setup({ debug = false, + ensure_installed = ensure_installed, sources = sources, }) end diff --git a/lua/user/mason_dap.lua b/lua/user/mason_dap.lua index d02d344..b8d196c 100644 --- a/lua/user/mason_dap.lua +++ b/lua/user/mason_dap.lua @@ -1,5 +1,13 @@ +local sources = {} +local data_exists, data = pcall(require, "core.config") +if data_exists then + for _, nullls in pairs(data.dap_ensure_installed) do + table.insert(sources, nullls) + end +end require("mason").setup() require("mason-nvim-dap").setup({ + ensure_installed = sources, automatic_setup = true, }) require("mason-nvim-dap").setup_handlers({})