From 252752d084a1d66830f5c41445743a3cb40d501e Mon Sep 17 00:00:00 2001 From: Marcelo Jacobus Date: Fri, 21 Jun 2024 10:21:16 -0300 Subject: [PATCH] Conditionally import PHP extensions --- lua/config/lazy.lua | 86 +++++++++++++++++++++++++-------------------- 1 file changed, 48 insertions(+), 38 deletions(-) diff --git a/lua/config/lazy.lua b/lua/config/lazy.lua index b9c51c5..0bc7d53 100644 --- a/lua/config/lazy.lua +++ b/lua/config/lazy.lua @@ -7,45 +7,55 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then end vim.opt.rtp:prepend(lazypath) +local function is_installed(command) + return vim.fn.executable(command) == 1 +end + +local plugins = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import any extras modules here + -- { import = "lazyvim.plugins.extras.lang.typescript" }, + -- { import = "lazyvim.plugins.extras.lang.json" }, + -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, + { import = "lazyvim.plugins.extras.coding.copilot" }, + { import = "lazyvim.plugins.extras.coding.luasnip" }, + { import = "lazyvim.plugins.extras.coding.neogen" }, -- generate annotations + + { import = "lazyvim.plugins.extras.ui.treesitter-context" }, + + { import = "lazyvim.plugins.extras.editor.harpoon2" }, + { import = "lazyvim.plugins.extras.editor.refactoring" }, + { import = "lazyvim.plugins.extras.editor.aerial" }, -- ss list constants + { import = "lazyvim.plugins.extras.editor.dial" }, -- like speadating + { import = "lazyvim.plugins.extras.editor.leap" }, -- like easy motion + + { import = "lazyvim.plugins.extras.lang.ruby" }, + { import = "lazyvim.plugins.extras.lang.typescript" }, + { import = "lazyvim.plugins.extras.lang.toml" }, + { import = "lazyvim.plugins.extras.lang.yaml" }, + -- { import = "lazyvim.plugins.extras.lang.sql" }, -- missing, appartently + { import = "lazyvim.plugins.extras.lang.markdown" }, + { import = "lazyvim.plugins.extras.lang.json" }, + { import = "lazyvim.plugins.extras.lang.git" }, + + { import = "lazyvim.plugins.extras.lsp.neoconf" }, + { import = "lazyvim.plugins.extras.lsp.none-ls" }, + + { import = "lazyvim.plugins.extras.util.mini-hipatterns" }, + { import = "lazyvim.plugins.extras.util.octo" }, +} + +-- Conditionally add PHP plugin if PHP is installed +if is_installed("php") then + table.insert(plugins, { import = "lazyvim.plugins.extras.lang.php" }) +end + +-- import/override with your plugins +table.insert(plugins, { import = "plugins" }) + require("lazy").setup({ - spec = { - -- add LazyVim and import its plugins - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - -- import any extras modules here - -- { import = "lazyvim.plugins.extras.lang.typescript" }, - -- { import = "lazyvim.plugins.extras.lang.json" }, - -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, - { import = "lazyvim.plugins.extras.coding.copilot" }, - { import = "lazyvim.plugins.extras.coding.luasnip" }, - { import = "lazyvim.plugins.extras.coding.neogen" }, -- generate annotations - - { import = "lazyvim.plugins.extras.ui.treesitter-context" }, - - { import = "lazyvim.plugins.extras.editor.harpoon2" }, - { import = "lazyvim.plugins.extras.editor.refactoring" }, - { import = "lazyvim.plugins.extras.editor.aerial" }, -- ss list constants - { import = "lazyvim.plugins.extras.editor.dial" }, -- like speadating - { import = "lazyvim.plugins.extras.editor.leap" }, -- like easy motion - - { import = "lazyvim.plugins.extras.lang.ruby" }, - { import = "lazyvim.plugins.extras.lang.php" }, - { import = "lazyvim.plugins.extras.lang.typescript" }, - { import = "lazyvim.plugins.extras.lang.toml" }, - { import = "lazyvim.plugins.extras.lang.yaml" }, - -- { import = "lazyvim.plugins.extras.lang.sql" }, -- missing, appartently - { import = "lazyvim.plugins.extras.lang.markdown" }, - { import = "lazyvim.plugins.extras.lang.json" }, - { import = "lazyvim.plugins.extras.lang.git" }, - - { import = "lazyvim.plugins.extras.lsp.neoconf" }, - { import = "lazyvim.plugins.extras.lsp.none-ls" }, - - { import = "lazyvim.plugins.extras.util.mini-hipatterns" }, - { import = "lazyvim.plugins.extras.util.octo" }, - - -- import/override with your plugins - { import = "plugins" }, - }, + spec = plugins, defaults = { -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.