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', 'clone', '--filter=blob:none',
7 'https://github.com/echasnovski/mini.nvim', mini_path
8 }
9 vim.fn.system(clone_cmd)
10 vim.cmd('packadd mini.nvim | helptags ALL')
11 vim.cmd('echo "Installed `mini.nvim`" | redraw')
12end
13
14local mini_deps = require('mini.deps')
15local add = mini_deps.add
16
17mini_deps.setup({ path = { package = path_package } })
18
19local pkgs = {
20 "folke/trouble.nvim", -- diagnostics
21 "mfussenegger/nvim-dap", -- add dap support
22 "leoluz/nvim-dap-go", -- add some utilites to go
23 "nvim-neotest/nvim-nio", -- async support library
24 "nvim-lua/plenary.nvim", -- base lib
25 "nvim-telescope/telescope.nvim", -- telescope
26 "nvim-telescope/telescope-file-browser.nvim", -- telescope file browser
27 "TimUntersberger/neogit", -- magit
28 "echasnovski/mini.nvim", -- provides many things
29 "jose-elias-alvarez/null-ls.nvim", -- enriches lsp
30 "nvim-treesitter/nvim-treesitter-context", -- show context of where it is at the code
31 "mbbill/undotree", -- keep track of undos
32 "simrat39/symbols-outline.nvim", -- symbols tree (lsp aware)
33 "caenrique/nvim-toggle-terminal", -- help with toggle from and to terminals [DEPRECATED]
34 "RRethy/vim-illuminate", -- hightlight use of the same word (lsp aware)
35 "sainnhe/edge", -- light theme
36 "williamboman/mason.nvim", -- manages many things
37 "neovim/nvim-lspconfig", -- lsp support
38}
39
40add({
41 source = "nvim-treesitter/nvim-treesitter",
42 hooks = { post_checkout = function() vim.cmd('TSUpdate') end },
43})
44add({
45 source = "fatih/vim-go",
46 hooks = { post_checkout = function() vim.cmd('GoUpdateBinaries') end },
47})
48for _, value in ipairs(pkgs) do add({source = value}) end
49
50
51local neogit = require("neogit")
52local null_ls = require("null-ls")
53local mason = require("mason")
54
55null_ls.setup({sources = {null_ls.builtins.diagnostics.golangci_lint}})
56neogit.setup()
57mason.setup()
58
59require("gabrielgio")