diff options
| author | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-08-23 12:42:37 +0900 |
|---|---|---|
| committer | TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> | 2025-08-23 12:42:37 +0900 |
| commit | 07d294425a98ee5d1e22d03e2b24ae2c76e487c0 (patch) | |
| tree | a6818f0d64438c5fdb88b00a35d944f80c056213 /mac/.config/LunarVim/lua/lvim/plugins.lua | |
| parent | 6fc28cdb3529ca8ee864cb5c41674cb0a4af72a1 (diff) | |
updates
Diffstat (limited to 'mac/.config/LunarVim/lua/lvim/plugins.lua')
| -rw-r--r-- | mac/.config/LunarVim/lua/lvim/plugins.lua | 385 |
1 files changed, 385 insertions, 0 deletions
diff --git a/mac/.config/LunarVim/lua/lvim/plugins.lua b/mac/.config/LunarVim/lua/lvim/plugins.lua new file mode 100644 index 0000000..4f76399 --- /dev/null +++ b/mac/.config/LunarVim/lua/lvim/plugins.lua @@ -0,0 +1,385 @@ +-- local require = require("lvim.utils.require").require +local core_plugins = { + { "folke/lazy.nvim", tag = "stable" }, + { + "neovim/nvim-lspconfig", + lazy = true, + dependencies = { "mason-lspconfig.nvim", "nlsp-settings.nvim" }, + }, + { + "williamboman/mason-lspconfig.nvim", + cmd = { "LspInstall", "LspUninstall" }, + config = function() + require("mason-lspconfig").setup(lvim.lsp.installer.setup) + + -- automatic_installation is handled by lsp-manager + local settings = require "mason-lspconfig.settings" + settings.current.automatic_installation = false + end, + lazy = true, + event = "User FileOpened", + dependencies = "mason.nvim", + }, + { "tamago324/nlsp-settings.nvim", cmd = "LspSettings", lazy = true }, + { "nvimtools/none-ls.nvim", lazy = true }, + { + "williamboman/mason.nvim", + config = function() + require("lvim.core.mason").setup() + end, + cmd = { "Mason", "MasonInstall", "MasonUninstall", "MasonUninstallAll", "MasonLog" }, + build = function() + pcall(function() + require("mason-registry").refresh() + end) + end, + event = "User FileOpened", + lazy = true, + }, + { + "folke/tokyonight.nvim", + lazy = not vim.startswith(lvim.colorscheme, "tokyonight"), + }, + { + "lunarvim/lunar.nvim", + lazy = lvim.colorscheme ~= "lunar", + }, + { "Tastyep/structlog.nvim", lazy = true }, + { "nvim-lua/plenary.nvim", cmd = { "PlenaryBustedFile", "PlenaryBustedDirectory" }, lazy = true }, + -- Telescope + { + "nvim-telescope/telescope.nvim", + branch = "0.1.x", + config = function() + require("lvim.core.telescope").setup() + end, + dependencies = { "telescope-fzf-native.nvim" }, + lazy = true, + cmd = "Telescope", + enabled = lvim.builtin.telescope.active, + }, + { "nvim-telescope/telescope-fzf-native.nvim", build = "make", lazy = true, enabled = lvim.builtin.telescope.active }, + -- Install nvim-cmp, and buffer source as a dependency + { + "hrsh7th/nvim-cmp", + config = function() + if lvim.builtin.cmp then + require("lvim.core.cmp").setup() + end + end, + event = { "InsertEnter", "CmdlineEnter" }, + dependencies = { + "cmp-nvim-lsp", + "cmp_luasnip", + "cmp-buffer", + "cmp-path", + "cmp-cmdline", + }, + }, + { "hrsh7th/cmp-nvim-lsp", lazy = true }, + { "saadparwaiz1/cmp_luasnip", lazy = true }, + { "hrsh7th/cmp-buffer", lazy = true }, + { "hrsh7th/cmp-path", lazy = true }, + { + "hrsh7th/cmp-cmdline", + lazy = true, + enabled = lvim.builtin.cmp and lvim.builtin.cmp.cmdline.enable or false, + }, + { + "L3MON4D3/LuaSnip", + config = function() + local utils = require "lvim.utils" + local paths = {} + if lvim.builtin.luasnip.sources.friendly_snippets then + paths[#paths + 1] = utils.join_paths(get_runtime_dir(), "site", "pack", "lazy", "opt", "friendly-snippets") + end + local user_snippets = utils.join_paths(get_config_dir(), "snippets") + if utils.is_directory(user_snippets) then + paths[#paths + 1] = user_snippets + end + require("luasnip.loaders.from_lua").lazy_load() + require("luasnip.loaders.from_vscode").lazy_load { + paths = paths, + } + require("luasnip.loaders.from_snipmate").lazy_load() + end, + event = "InsertEnter", + dependencies = { + "friendly-snippets", + }, + }, + { "rafamadriz/friendly-snippets", lazy = true, cond = lvim.builtin.luasnip.sources.friendly_snippets }, + { + "folke/neodev.nvim", + lazy = true, + }, + + -- Autopairs + { + "windwp/nvim-autopairs", + event = "InsertEnter", + config = function() + require("lvim.core.autopairs").setup() + end, + enabled = lvim.builtin.autopairs.active, + dependencies = { "nvim-treesitter/nvim-treesitter", "hrsh7th/nvim-cmp" }, + }, + + -- Treesitter + { + "nvim-treesitter/nvim-treesitter", + -- run = ":TSUpdate", + config = function() + local utils = require "lvim.utils" + local path = utils.join_paths(get_runtime_dir(), "site", "pack", "lazy", "opt", "nvim-treesitter") + vim.opt.rtp:prepend(path) -- treesitter needs to be before nvim's runtime in rtp + require("lvim.core.treesitter").setup() + end, + cmd = { + "TSInstall", + "TSUninstall", + "TSUpdate", + "TSUpdateSync", + "TSInstallInfo", + "TSInstallSync", + "TSInstallFromGrammar", + }, + event = "User FileOpened", + }, + { + -- Lazy loaded by Comment.nvim pre_hook + "JoosepAlviste/nvim-ts-context-commentstring", + lazy = true, + }, + + -- NvimTree + { + "nvim-tree/nvim-tree.lua", + config = function() + require("lvim.core.nvimtree").setup() + end, + enabled = lvim.builtin.nvimtree.active, + cmd = { "NvimTreeToggle", "NvimTreeOpen", "NvimTreeFocus", "NvimTreeFindFileToggle" }, + event = "User DirOpened", + }, + -- Lir + { + "tamago324/lir.nvim", + config = function() + require("lvim.core.lir").setup() + end, + enabled = lvim.builtin.lir.active, + event = "User DirOpened", + }, + { + "lewis6991/gitsigns.nvim", + config = function() + require("lvim.core.gitsigns").setup() + end, + event = "User FileOpened", + cmd = "Gitsigns", + enabled = lvim.builtin.gitsigns.active, + }, + + -- Whichkey + { + "folke/which-key.nvim", + config = function() + require("lvim.core.which-key").setup() + end, + cmd = "WhichKey", + event = "VeryLazy", + enabled = lvim.builtin.which_key.active, + }, + + -- Comments + { + "numToStr/Comment.nvim", + config = function() + require("lvim.core.comment").setup() + end, + keys = { { "gc", mode = { "n", "v" } }, { "gb", mode = { "n", "v" } } }, + event = "User FileOpened", + enabled = lvim.builtin.comment.active, + }, + + -- project.nvim + { + "ahmedkhalf/project.nvim", + config = function() + require("lvim.core.project").setup() + end, + enabled = lvim.builtin.project.active, + event = "VimEnter", + cmd = "Telescope projects", + }, + + -- Icons + { + "nvim-tree/nvim-web-devicons", + enabled = lvim.use_icons, + lazy = true, + }, + + -- Status Line and Bufferline + { + -- "hoob3rt/lualine.nvim", + "nvim-lualine/lualine.nvim", + -- "Lunarvim/lualine.nvim", + config = function() + require("lvim.core.lualine").setup() + end, + event = "VimEnter", + enabled = lvim.builtin.lualine.active, + }, + + -- breadcrumbs + { + "SmiteshP/nvim-navic", + config = function() + require("lvim.core.breadcrumbs").setup() + end, + event = "User FileOpened", + enabled = lvim.builtin.breadcrumbs.active, + }, + + { + "akinsho/bufferline.nvim", + config = function() + require("lvim.core.bufferline").setup() + end, + branch = "main", + event = "User FileOpened", + enabled = lvim.builtin.bufferline.active, + }, + + -- Debugging + { + "mfussenegger/nvim-dap", + config = function() + require("lvim.core.dap").setup() + end, + lazy = true, + dependencies = { + "rcarriga/nvim-dap-ui", + }, + enabled = lvim.builtin.dap.active, + }, + + -- Debugger user interface + { + "rcarriga/nvim-dap-ui", + config = function() + require("lvim.core.dap").setup_ui() + end, + lazy = true, + enabled = lvim.builtin.dap.active, + }, + + -- alpha + { + "goolord/alpha-nvim", + config = function() + require("lvim.core.alpha").setup() + end, + enabled = lvim.builtin.alpha.active, + event = "VimEnter", + }, + + -- Terminal + { + "akinsho/toggleterm.nvim", + branch = "main", + init = function() + require("lvim.core.terminal").init() + end, + config = function() + require("lvim.core.terminal").setup() + end, + cmd = { + "ToggleTerm", + "TermExec", + "ToggleTermToggleAll", + "ToggleTermSendCurrentLine", + "ToggleTermSendVisualLines", + "ToggleTermSendVisualSelection", + }, + keys = lvim.builtin.terminal.open_mapping, + enabled = lvim.builtin.terminal.active, + }, + + -- SchemaStore + { + "b0o/schemastore.nvim", + lazy = true, + }, + + { + "RRethy/vim-illuminate", + config = function() + require("lvim.core.illuminate").setup() + end, + event = "User FileOpened", + enabled = lvim.builtin.illuminate.active, + }, + + { + "lukas-reineke/indent-blankline.nvim", + config = function() + require("lvim.core.indentlines").setup() + end, + event = "User FileOpened", + enabled = lvim.builtin.indentlines.active, + }, + + { + "lunarvim/onedarker.nvim", + branch = "freeze", + config = function() + pcall(function() + if lvim and lvim.colorscheme == "onedarker" then + require("onedarker").setup() + lvim.builtin.lualine.options.theme = "onedarker" + end + end) + end, + lazy = lvim.colorscheme ~= "onedarker", + }, + + { + "lunarvim/bigfile.nvim", + config = function() + pcall(function() + require("bigfile").setup(lvim.builtin.bigfile.config) + end) + end, + enabled = lvim.builtin.bigfile.active, + dependencies = { "nvim-treesitter/nvim-treesitter" }, + event = { "FileReadPre", "BufReadPre", "User FileOpened" }, + }, +} + +local default_snapshot_path = join_paths(get_lvim_base_dir(), "snapshots", "default.json") +local content = vim.fn.readfile(default_snapshot_path) +local default_sha1 = assert(vim.fn.json_decode(content)) + +-- taken from <https://github.com/folke/lazy.nvim/blob/c7122d64cdf16766433588486adcee67571de6d0/lua/lazy/core/plugin.lua#L27> +local get_short_name = function(long_name) + local name = long_name:sub(-4) == ".git" and long_name:sub(1, -5) or long_name + local slash = name:reverse():find("/", 1, true) --[[@as number?]] + return slash and name:sub(#name - slash + 2) or long_name:gsub("%W+", "_") +end + +local get_default_sha1 = function(spec) + local short_name = get_short_name(spec[1]) + return default_sha1[short_name] and default_sha1[short_name].commit +end + +if not vim.env.LVIM_DEV_MODE then + -- Manually lock the commit hashes of core plugins + for _, spec in ipairs(core_plugins) do + spec["commit"] = get_default_sha1(spec) + end +end + +return core_plugins |
