nvim/lua/my_lazy.lua

238 lines
5.3 KiB
Lua

local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"--single-branch",
"https://github.com/folke/lazy.nvim.git",
lazypath,
})
end
vim.opt.runtimepath:prepend(lazypath)
local plugins = {
{
'mrjones2014/legendary.nvim',
config = function()
require('setup/my_legendary')
end
},
{
'nvim-treesitter/nvim-treesitter',
build = ':TSUpdate',
config = function()
require('setup/treesitter')
end
},
{
'p00f/nvim-ts-rainbow',
dependencies = 'nvim-treesitter/nvim-treesitter',
},
{
'nvim-telescope/telescope.nvim',
dependencies = {
'nvim-lua/plenary.nvim',
'kyazdani42/nvim-web-devicons',
{
'nvim-telescope/telescope-fzf-native.nvim',
build = {
'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -G Ninja', -- On windows add -DCMAKE_C_FLAGS="-target x86_64-w64-mingw32"
'cmake --build build --config Release',
'cmake --install build --prefix build'
},
config = function()
require('telescope').load_extension('fzf')
end
},
},
config = function()
require('setup/telescope')
end
},
{
'eddyekofo94/gruvbox-flat.nvim',
disable = false,
config = function()
require('setup/my_gruvbox_flat')
end
},
{
'lukas-reineke/indent-blankline.nvim',
dependencies = {
'nvim-treesitter/nvim-treesitter',
},
config = function()
require('setup/indent_blankline')
end,
},
{
'lewis6991/gitsigns.nvim',
config = function()
require('setup/gitsigns')
end,
},
{
'numToStr/Comment.nvim',
config = function()
require('setup/comment')
end,
},
{
'hoob3rt/lualine.nvim',
dependencies = { 'kyazdani42/nvim-web-devicons' },
config = function()
require('setup/lualine')
end,
},
{
'hrsh7th/nvim-cmp',
dependencies = {
{ 'onsails/lspkind-nvim' },
{ 'hrsh7th/cmp-buffer' },
{ 'hrsh7th/cmp-nvim-lsp' },
{
'L3MON4D3/LuaSnip',
config = function()
require('setup/luasnip')
end,
dependencies =
{
'rafamadriz/friendly-snippets'
}
},
{ 'saadparwaiz1/cmp_luasnip' },
{ 'hrsh7th/cmp-nvim-lua' },
{ 'octaltree/cmp-look' },
{ 'hrsh7th/cmp-path' },
{ 'hrsh7th/cmp-calc' },
{ 'f3fora/cmp-spell' },
{ 'hrsh7th/cmp-emoji' },
{ 'hrsh7th/cmp-cmdline' },
{ 'dmitmel/cmp-cmdline-history' },
{ 'ray-x/cmp-treesitter' },
{ 'hrsh7th/cmp-nvim-lsp-signature-help' },
{ 'p00f/clangd_extensions.nvim' },
{
'windwp/nvim-autopairs',
config = function()
require('setup/nvim-autopairs')
end
},
},
config = function()
require('setup/my_cmp')
end,
event = "InsertEnter",
},
-- {
-- 'L3MON4D3/LuaSnip',
-- config = function()
-- require('setup/luasnip')
-- end,
-- dependencies =
-- {
-- 'rafamadriz/friendly-snippets'
-- }
{
'neovim/nvim-lspconfig',
dependencies = {
'williamboman/mason.nvim',
'williamboman/mason-lspconfig.nvim',
'p00f/clangd_extensions.nvim',
'jose-elias-alvarez/null-ls.nvim',
'ray-x/lsp_signature.nvim',
},
config = function()
require('setup/my_lspconfig')
end,
event = { "InsertEnter", "CursorMoved" },
},
{
'akinsho/toggleterm.nvim',
config = function()
require('setup/toggleterm')
end,
cmd = 'ToggleTerm'
},
{
'gbprod/yanky.nvim',
config = function()
require('setup/yanky')
end,
keys = {
{ 'n', '<c-n>' },
{ 'n', '<c-o>' }
},
dependencies = {
'nvim-telescope/telescope.nvim'
}
},
{
'stevearc/aerial.nvim',
dependencies = {
'nvim-telescope/telescope.nvim'
},
config = function()
require('setup/aerial')
end,
keys = {
{ 'n', '<leader>s' }
}
},
{
'ggandor/leap.nvim',
dependencies = { 'tpope/vim-repeat' },
config = function()
require('setup/my_leap')
end
},
{
'mfussenegger/nvim-dap',
dependencies = {
'mfussenegger/nvim-dap-python',
'theHamsta/nvim-dap-virtual-text',
{
'nvim-telescope/telescope-dap.nvim',
dependencies = 'telescope.nvim',
},
'rcarriga/nvim-dap-ui',
'rcarriga/cmp-dap',
},
keys = {
{ '<F5>' },
{ '<F6>' },
{ '<F7>' },
{ '<F8>' },
{ '<F9>' },
{ '<F10>' },
{ '<F11>' },
{ '<S-F11>' }
},
config = function()
require('setup/my_dap')
end,
},
{
'sindrets/diffview.nvim',
dependencies = 'nvim-lua/plenary.nvim',
config = function()
require('setup/my_diffview')
end,
cmd = 'DiffviewOpen',
},
{
'stevearc/overseer.nvim',
config = function()
require('setup/my_overseer')
end,
keys = {
{ '<F4>' }
},
}
}
local opts = {}
require("lazy").setup(plugins, opts)