aboutsummaryrefslogtreecommitdiff
path: root/init.lua
blob: 4e78cd4e1921c15bedc103cdef54bfe532ab8855 (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
68
69
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 } })

-- stylua: ignore start
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
}
-- stylua: ignore end

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")