aboutsummaryrefslogtreecommitdiff
path: root/init.lua
blob: 8760687a5ba66f96a314a46980cf4ad2645c35a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
local path_package = vim.fn.stdpath("data") .. "/site/"
local mini_path = path_package .. "pack/deps/start/mini.nvim"

if not vim.loop.fs_stat(mini_path) then
	vim.cmd('echo "Installing `mini.nvim`" | redraw')
	local clone_cmd = {
		"git",
		"clone",
		"--filter=blob:none",
		"https://github.com/echasnovski/mini.nvim",
		mini_path,
	}
	vim.fn.system(clone_cmd)
	vim.cmd("packadd mini.nvim | helptags ALL")
	vim.cmd('echo "Installed `mini.nvim`" | redraw')
end

local mini_deps = require("mini.deps")
local add = mini_deps.add

mini_deps.setup({ path = { package = path_package } })

local pkgs = {
	"folke/trouble.nvim", -- diagnostics
	"mfussenegger/nvim-dap", -- add dap support
	"nvim-neotest/nvim-nio", -- async support library
	"nvim-lua/plenary.nvim", -- base lib
	"nvim-telescope/telescope.nvim", -- telescope
	"nvim-telescope/telescope-file-browser.nvim", -- telescope file browser
	"TimUntersberger/neogit", -- magit
	"f-person/git-blame.nvim", -- more git info
	"echasnovski/mini.nvim", -- provides many things
	"mhartington/formatter.nvim", -- provider formatter
	"mfussenegger/nvim-lint", -- general linter
	"nvim-treesitter/nvim-treesitter-context", -- show context of where it is at the code
	"mbbill/undotree", -- keep track of undos
	"simrat39/symbols-outline.nvim", -- symbols tree (lsp aware)
	"caenrique/nvim-toggle-terminal", -- help with toggle from and to terminals [DEPRECATED]
	"RRethy/vim-illuminate", -- hightlight use of the same word (lsp aware)
	"sainnhe/edge", -- light theme
	"ellisonleao/gruvbox.nvim", -- light theme
	"williamboman/mason.nvim", -- manages many things
	"williamboman/mason-lspconfig.nvim", -- glue mason and lspconfig
	"neovim/nvim-lspconfig", -- lsp support
}

add({
	source = "nvim-treesitter/nvim-treesitter",
	hooks = {
		post_checkout = function()
			vim.cmd("TSUpdate")
		end,
	},
})
add({
	source = "fatih/vim-go",
	hooks = {
		post_checkout = function()
			vim.cmd("GoUpdateBinaries")
		end,
	},
})
for _, value in ipairs(pkgs) do
	add({ source = value })
end

require("gabrielgio")