nvim-config/lua/plugins.lua
2024-10-04 10:00:23 -07:00

93 lines
3.1 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',
'https://github.com/folke/lazy.nvim.git',
'--branch=stable', -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require('lazy').setup({
-- color scheme
{ dir = '~/builds/darkplus.nvim' },
-- buffer line
'moll/vim-bbye', -- close buffers softly
{ 'akinsho/bufferline.nvim', dependencies = 'nvim-tree/nvim-web-devicons', config = require('configs.bufferline') },
-- git
{ 'lewis6991/gitsigns.nvim', config = require('configs.gitsigns') },
{ 'f-person/git-blame.nvim', config = require('configs.gitblame') },
-- status line
{ 'nvim-lualine/lualine.nvim', config = require('configs.lualine') },
-- tree
{ 'nvim-tree/nvim-tree.lua', dependencies = { 'nvim-tree/nvim-web-devicons', 'nvim-lua/plenary.nvim' }, config = require('configs.nvim-tree') },
-- show indentation
{ 'lukas-reineke/indent-blankline.nvim', config = require('configs.indent-blankline') },
-- telescope (find files, words, etc.)
{ 'nvim-telescope/telescope.nvim', config = require('configs.telescope') },
-- custom build of Shatur/neovim-session-manager for git-branch sessions
{ dir = '~/builds/neovim-session-manager', config = require('configs.session-manager') },
-- treesitter
{ 'nvim-treesitter/nvim-treesitter', config = require('configs.treesitter') },
{ 'windwp/nvim-ts-autotag', dependencies = 'nvim-treesitter/nvim-treesitter' },
{ 'JoosepAlviste/nvim-ts-context-commentstring', dependencies = 'nvim-treesitter/nvim-treesitter' },
{
'nvim-treesitter/nvim-treesitter-context',
dependencies = 'nvim-treesitter/nvim-treesitter',
config = require('configs.treesitter-context'),
},
-- lsp
{ 'neovim/nvim-lspconfig', config = require('configs.lspconfig') },
{ 'tami5/lspsaga.nvim', config = require('configs.lspsaga') },
{ 'mhartington/formatter.nvim', config = require('configs.formatter') },
{ 'mfussenegger/nvim-lint', config = require('configs.linter') },
-- highlight hovered text
{ 'RRethy/vim-illuminate', config = require('configs.illuminate') },
-- autocomplete
{ 'hrsh7th/nvim-cmp', dependencies = 'L3MON4D3/LuaSnip', config = require('configs.cmp') },
{ 'hrsh7th/cmp-buffer', dependencies = 'hrsh7th/nvim-cmp' },
{ 'hrsh7th/cmp-path', dependencies = 'hrsh7th/nvim-cmp' },
{ 'hrsh7th/cmp-nvim-lsp', dependencies = 'hrsh7th/nvim-cmp' },
-- table mode
'dhruvasagar/vim-table-mode',
-- dashboard
{ 'goolord/alpha-nvim', dependencies = 'nvim-tree/nvim-web-devicons', config = require('configs.alpha') },
-- lazygit
{ 'kdheepak/lazygit.nvim', dependencies = 'nvim-lua/plenary.nvim', keys = { { '<leader>lg', '<cmd>LazyGit<cr>' } } },
-- autopairs
{ 'windwp/nvim-autopairs', config = require('configs.autopairs') },
-- block comments
{
'numToStr/Comment.nvim',
dependencies = 'JoosepAlviste/nvim-ts-context-commentstring',
config = require('configs.comment'),
},
-- color string colors (#f1b8f1)
{ 'norcalli/nvim-colorizer.lua', config = require('configs.colorizer') },
-- remember last place when opening files
'farmergreg/vim-lastplace',
})