1local path_package = vim.fn.stdpath("data") .. "/site/"
2local mini_path = path_package .. "pack/deps/start/mini.nvim"
3if not vim.loop.fs_stat(mini_path) then
4 vim.cmd('echo "Installing `mini.nvim`" | redraw')
5 local clone_cmd = {
6 "git",
7 "clone",
8 "--filter=blob:none",
9 "https://github.com/echasnovski/mini.nvim",
10 mini_path,
11 }
12 vim.fn.system(clone_cmd)
13 vim.cmd("packadd mini.nvim | helptags ALL")
14 vim.cmd('echo "Installed `mini.nvim`" | redraw')
15end
16
17local mini_deps = require("mini.deps")
18local add = mini_deps.add
19
20mini_deps.setup({ path = { package = path_package } })
21
22-- stylua: ignore start
23local pkgs = {
24 "folke/trouble.nvim", -- diagnostics
25 "mfussenegger/nvim-dap", -- add dap support
26 "nvim-neotest/nvim-nio", -- async support library
27 "rcarriga/nvim-dap-ui", -- dap ui
28 "theHamsta/nvim-dap-virtual-text", -- dap in line text
29 "nvim-lua/plenary.nvim", -- base lib
30 "nvim-telescope/telescope.nvim", -- telescope
31 "nvim-telescope/telescope-file-browser.nvim", -- telescope file browser
32 "vimwiki/vimwiki", -- wiki
33 "f-person/git-blame.nvim", -- more git info
34 "nvim-mini/mini.nvim", -- provides many things
35 "mhartington/formatter.nvim", -- provider formatter
36 "mfussenegger/nvim-lint", -- general linter
37 "nvim-treesitter/nvim-treesitter-context", -- show context of where it is at the code
38 "mbbill/undotree", -- keep track of undos
39 "hedyhli/outline.nvim", -- symbols tree (lsp aware)
40 "akinsho/toggleterm.nvim", -- terminal
41 "RRethy/vim-illuminate", -- hightlight use of the same word (lsp aware)
42 "sainnhe/edge", -- light theme
43 "neovim/nvim-lspconfig", -- lsp support
44 "ray-x/go.nvim", -- go things
45}
46-- stylua: ignore end
47
48add({
49 source = "nvim-treesitter/nvim-treesitter",
50 hooks = {
51 post_checkout = function()
52 vim.cmd("TSUpdate")
53 end,
54 },
55})
56
57-- work related ai plugins
58if vim.fn.executable("copilot") == 1 then
59 table.insert(pkgs, "github/copilot.vim")
60end
61
62if vim.fn.executable("claude") == 1 then
63 table.insert(pkgs, "coder/claudecode.nvim")
64end
65
66for _, value in ipairs(pkgs) do
67 add({ source = value })
68end
69
70require("gabrielgio")