1
0
Fork 0
chezmoi/dot_config/nvim/lua/configs/packages.lua

182 lines
5.6 KiB
Lua

local M = {}
function M.setup()
local ensure_packer = function()
local fn = vim.fn
local install_path = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim'
if fn.empty(fn.glob(install_path)) > 0 then
fn.system({ 'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path })
vim.cmd [[packadd packer.nvim]]
return true
end
return false
end
local packer_bootstrap = ensure_packer()
local startup = function(use)
use 'wbthomason/packer.nvim'
use {
'lewis6991/impatient.nvim',
config = function()
require('impatient')
end,
}
use {
'neovim/nvim-lspconfig',
config = function() require('configs.lsp').setup() end,
requires = { 'b0o/schemastore.nvim' }
}
use {
'hrsh7th/nvim-cmp',
requires = { 'neovim/nvim-lspconfig' },
config = function() require('configs.nvim-cmp').setup() end
}
use { 'hrsh7th/cmp-nvim-lsp', requires = { 'hrsh7th/nvim-cmp' } }
use { 'hrsh7th/cmp-buffer', requires = { 'hrsh7th/nvim-cmp' } }
use { 'hrsh7th/cmp-path', requires = { 'hrsh7th/nvim-cmp' } }
use { 'hrsh7th/cmp-nvim-lua', requires = { 'hrsh7th/nvim-cmp' } }
use { 'hrsh7th/vim-vsnip', config = function()
vim.api.nvim_exec([[
imap <expr> <Tab> vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : '<Tab>'
smap <expr> <Tab> vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : '<Tab>'
imap <expr> <S-Tab> vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : '<S-Tab>'
smap <expr> <S-Tab> vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : '<S-Tab>'
]], false)
end }
use { 'SmiteshP/nvim-navic', requires = 'neovim/nvim-lspconfig' }
use { 'j-hui/fidget.nvim', config = function() require('fidget').setup({}) end }
use { 'rafamadriz/friendly-snippets' }
use 'hrsh7th/cmp-nvim-lsp-signature-help'
use { 'hrsh7th/cmp-vsnip', requires = { 'hrsh7th/nvim-cmp', 'hrsh7th/vim-vsnip' } }
use { 'onsails/lspkind.nvim' }
use 'ray-x/lsp_signature.nvim'
use { 'RishabhRD/nvim-lsputils', requires = { 'RishabhRD/popfix' } }
-- use { 'stevearc/dressing.nvim', config = function()
-- require('dressing').setup({
-- input = {
-- relative = 'editor',
-- },
-- })
-- end }
use { 'jose-elias-alvarez/null-ls.nvim', requires = { 'nvim-lua/plenary.nvim' },
config = function() require('configs.null-ls').setup() end
}
use { 'nvim-treesitter/nvim-treesitter',
run = ':TSUpdate',
config = function() require('configs.treesitter').setup() end,
}
use 'nvim-treesitter/playground'
use({ 'yioneko/nvim-yati', requires = 'nvim-treesitter/nvim-treesitter', tag = 'legacy' })
use({ 'nvim-treesitter/nvim-treesitter-textobjects', requires = 'nvim-treesitter/nvim-treesitter' })
use { 'nvim-telescope/telescope.nvim',
requires = { 'nvim-lua/popup.nvim', 'nvim-lua/plenary.nvim' },
config = function() require('configs.telescope').setup() end,
}
use { 'nvim-telescope/telescope-ui-select.nvim' }
use { 'nvim-telescope/telescope-fzf-native.nvim',
run = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build'
}
use { 'gruvbox-community/gruvbox' }
use { 'chrisbra/Colorizer', cmd = 'ColorToggle', keys = { 'n', '<space>c <Cmd>ColorToggle<CR>' } }
use { 'numToStr/FTerm.nvim',
config = function() require('configs.fterm').setup() end,
}
use { 'lewis6991/gitsigns.nvim',
requires = { 'nvim-lua/plenary.nvim' },
config = function() require 'gitsigns'.setup({}) end }
use { 'hoob3rt/lualine.nvim',
requires = { 'kyazdani42/nvim-web-devicons' },
config = require('configs.lualine').setup
}
use { 'AndrewRadev/linediff.vim', cmd = 'LineDiffAdd' }
use 'lukas-reineke/indent-blankline.nvim'
use {
'b3nj5m1n/kommentary',
config = function()
local kommentary = require('kommentary.config')
kommentary.configure_language('php', { prefer_single_line_comments = true, })
kommentary.configure_language('lua', { prefer_single_line_comments = true, })
end
}
use 'editorconfig/editorconfig-vim'
use {
'nvim-neo-tree/neo-tree.nvim',
branch = 'v2.x',
requires = {
'nvim-lua/plenary.nvim',
'kyazdani42/nvim-web-devicons', -- not strictly required, but recommended
'MunifTanjim/nui.nvim',
},
config = function() require('configs.neotree').setup() end,
}
use {
'vlada-dudr/vdebug',
opt = true,
}
use { 'phaazon/mind.nvim', config = function () require('mind').setup({}) end }
use { 'dyng/ctrlsf.vim', cmd = 'CtrlSF' }
use { 'folke/neodev.nvim' }
use { 'AndrewRadev/tagalong.vim' }
use { 'andymass/vim-matchup' }
use { 'fpob/nette.vim', ft = 'nette' }
use { 'kchmck/vim-coffee-script' }
use {
'folke/trouble.nvim',
requires = 'kyazdani42/nvim-web-devicons',
cmd = 'TroubleToggle',
keys = { 'n', '<space>t <Cmd>TroubleToggle<CR>' },
config = function() require('configs.trouble').setup() end
}
use { 'ziglang/zig.vim', ft = 'zig' }
if packer_bootstrap then
require('packer').sync()
end
end
require('packer').startup({
startup,
config = {
max_jobs = 5,
transitive_disable = false,
display = {
open_fn = function()
return require('packer.util').float { border = 'single' }
end,
},
}
})
end
return M