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 "nvim-lua/plenary.nvim", -- base lib
29 "nvim-telescope/telescope.nvim", -- telescope
30 "nvim-telescope/telescope-file-browser.nvim", -- telescope file browser
31 "vimwiki/vimwiki", -- wiki
32 "f-person/git-blame.nvim", -- more git info
33 "nvim-mini/mini.nvim", -- provides many things
34 "mhartington/formatter.nvim", -- provider formatter
35 "mfussenegger/nvim-lint", -- general linter
36 "nvim-treesitter/nvim-treesitter-context", -- show context of where it is at the code
37 "mbbill/undotree", -- keep track of undos
38 "hedyhli/outline.nvim", -- symbols tree (lsp aware)
39 "akinsho/toggleterm.nvim", -- terminal
40 "RRethy/vim-illuminate", -- hightlight use of the same word (lsp aware)
41 "sainnhe/edge", -- light theme
42 "neovim/nvim-lspconfig", -- lsp support
43 "ray-x/go.nvim", -- go things
44}
45-- stylua: ignore end
46
47add({
48 source = "nvim-treesitter/nvim-treesitter",
49 hooks = {
50 post_checkout = function()
51 vim.cmd("TSUpdate")
52 end,
53 },
54})
55
56-- work related ai plugins
57if vim.fn.executable("copilot") == 1 then
58 table.insert(pkgs, "github/copilot.vim")
59end
60
61if vim.fn.executable("claude") == 1 then
62 table.insert(pkgs, "coder/claudecode.nvim")
63end
64
65for _, value in ipairs(pkgs) do
66 add({ source = value })
67end
68
69require("gabrielgio")