dotfiles/home/config/nvim/lua/plugins/all.lua

186 lines
5.8 KiB
Lua

-- NOTE: lazy.nvim reads plugins/*.lua, so feel free to break these up into convenient chunks
return {
{'SirVer/ultisnips'},
{'honza/vim-snippets'},
{'williamboman/mason.nvim', config = function()
require("mason").setup()
end
},
{'williamboman/mason-lspconfig.nvim'},
{'neovim/nvim-lspconfig', config = function()
require'lspconfig'.gopls.setup{ 'gopls' }
end
},
{'simrat39/rust-tools.nvim', config = function()
local rt = require('rust-tools')
rt.setup({
server = {
on_attach = function(_, bufnr)
-- Hover actions
vim.keymap.set('n', '<C-space>', rt.hover_actions.hover_actions, { buffer = bufnr })
-- Code action groups
vim.keymap.set('n', '<Leader>a', rt.code_action_group.code_action_group, { buffer = bufnr })
end,
},
})
end
},
{'hrsh7th/nvim-cmp', config = function()
-- Completion Plugin Setup
local cmp = require'cmp'
cmp.setup({
-- Enable LSP snippets
snippet = {
expand = function(args)
vim.fn["vsnip#anonymous"](args.body)
end,
},
mapping = {
['<C-p>'] = cmp.mapping.select_prev_item(),
['<C-n>'] = cmp.mapping.select_next_item(),
-- Add tab support
['<S-Tab>'] = cmp.mapping.select_prev_item(),
['<Tab>'] = cmp.mapping.select_next_item(),
['<C-S-f>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.close(),
['<CR>'] = cmp.mapping.confirm({
behavior = cmp.ConfirmBehavior.Insert,
select = true,
})
},
-- Installed sources:
sources = {
{ name = 'path' }, -- file paths
{ name = 'nvim_lsp', keyword_length = 3 }, -- from language server
{ name = 'nvim_lsp_signature_help'}, -- display function signatures with current parameter emphasized
{ name = 'nvim_lua', keyword_length = 2}, -- complete neovim's Lua runtime API such vim.lsp.*
{ name = 'buffer', keyword_length = 2 }, -- source current buffer
{ name = 'vsnip', keyword_length = 2 }, -- nvim-cmp source for vim-vsnip
{ name = 'calc'}, -- source for math calculation
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
formatting = {
fields = {'menu', 'abbr', 'kind'},
format = function(entry, item)
local menu_icon ={
nvim_lsp = 'λ',
vsnip = '',
buffer = 'Ω',
path = '🖫',
}
item.menu = menu_icon[entry.source.name]
return item
end,
},
})
end
},
{'hrsh7th/cmp-nvim-lsp'},
{'hrsh7th/cmp-nvim-lua'},
{'hrsh7th/cmp-nvim-lsp-signature-help'},
{'hrsh7th/cmp-vsnip'},
{'hrsh7th/cmp-path'},
{'hrsh7th/cmp-buffer'},
{'hrsh7th/vim-vsnip'},
{'atelierbram/vim-colors_atelier-schemes'},
-- {'liuchengxu/space-vim-dark'},
{'robertmeta/nofrils'},
{'vim-test/vim-test'},
{'hashivim/vim-terraform'},
{'rmagatti/auto-session'},
{'ludovicchabant/vim-gutentags'},
{'preservim/nerdtree'},
{'junegunn/fzf', dir='~/.fzf'},
{'junegunn/fzf.vim'},
{'mhinz/vim-startify'},
{'jeetsukumaran/vim-buffergator'},
{'ap/vim-buftabline'},
{'airblade/vim-gitgutter'},
{'majutsushi/tagbar'},
{'nvim-lualine/lualine.nvim', requires = { 'kyazdani42/nvim-web-devicons', opt = true } },
{'arkav/lualine-lsp-progress',
config = function()
require('lualine').setup({
options = { theme = 'palenight' },
sections = {
lualine_b ={ {'filename', path=1} },
lualine_c = {
'lsp_progress'
}
},
inactive_sections = {
lualine_a = {},
lualine_b ={ {'filename', path=1} },
lualine_c = {},
lualine_d = {},
lualine_e = {},
}
})
end
},
{'voldikss/vim-floaterm'},
{'fatih/vim-go'},
{'whatyouhide/vim-gotham'},
{'nanotech/jellybeans.vim'},
{'sickill/vim-monokai'},
{'tpope/vim-fugitive'},
{'tpope/vim-rhubarb'},
{'gf3/peg.vim'},
{'nvim-lua/plenary.nvim'},
{ 'nvim-telescope/telescope.nvim', config = function () require('telescope').setup{ file_ignore_patterns = {'node_modules','./venv/'} } end },
{'nvim-telescope/telescope-project.nvim'},
-- require'telescope'.load_extension('project')
{'puremourning/vimspector'},
{'airblade/vim-rooter'},
-- Debugging
{ 'mfussenegger/nvim-dap'},
{'lukas-reineke/indent-blankline.nvim'},
{'fredeeb/tardis.nvim', config = function()
require('tardis-nvim').setup({
keymap = {
next = '<C-n>', -- next entry in log (older)
prev = '<C-m>', -- previous entry in log (newer)
quit = 'q', -- quit all
commit_message = 'm', -- show commit message for current commit in buffer
},
commits = 32, -- max number of commits to read
})
end
},
{'nvim-treesitter/nvim-treesitter', run = ':TSUpdate' , config = function()
require("nvim-treesitter.configs").setup({
highlight = { enable = true, disable = { "lua" } },
indent = { enable = true },
refactor = { highlight_definitions = { enable = true } },
incremental_selection = { enable = true },
matchup = { enable = true },
textsubjects = {
enable = true,
prev_selection = ",",
keymaps = {
["."] = "textsubjects-smart",
},
},
})
end
},
{'nvim-treesitter/nvim-treesitter-refactor'},
{'RRethy/nvim-treesitter-textsubjects'},
}