1
0
Fork 0
chezmoi/dot_config/nvim/lua/configs/packages.lua
2022-11-03 15:05:24 +01:00

171 lines
5 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 = require('configs.nvim-cmp').setup }
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.keymap.set({ 'i', 's' }, '<Tab>', [[vsnip#jumpable(1) ? '<Plug>(vsnip-jump-next)' : <Tab>]], { expr = true })
vim.keymap.set({ 'i', 's' }, '<S-Tab>', [[vsnip#jumpable(-1) ? '<Plug>(vsnip-jump-prev)' : <S-Tab>]], { expr = true })
end }
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 { 'weilbith/nvim-code-action-menu', cmd = 'CodeActionMenu' }
-- use { 'simrat39/symbols-outline.nvim', cmd = 'SymbolsOutline' }
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 = require('configs.null-ls').setup }
use { 'nvim-treesitter/nvim-treesitter',
run = ':TSUpdate',
config = require('configs.treesitter').setup,
}
use 'nvim-treesitter/playground'
use({ 'yioneko/nvim-yati', requires = 'nvim-treesitter/nvim-treesitter' })
use { 'nvim-telescope/telescope.nvim',
requires = { 'nvim-lua/popup.nvim', 'nvim-lua/plenary.nvim' },
config = require('configs.telescope').setup,
}
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 = require('configs.fterm').setup
}
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() require('kommentary.config').configure_language('php',
{ prefer_single_line_comments = true, })
end
}
use 'editorconfig/editorconfig-vim'
use {
'kyazdani42/nvim-tree.lua',
config = require('configs.nvimtree'),
disable = true,
}
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 = require('configs.neotree').setup,
}
use {
'vim-vdebug/vdebug',
opt = true,
}
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('trouble').setup({
mode = 'document_diagnostics'
})
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