aboutsummaryrefslogtreecommitdiff
path: root/init.lua
blob: 39fe5859c504d1f7681691cbb920c49c2e88de04 (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
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")