162 lines
4.6 KiB
Lua
162 lines
4.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 { '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'
|
|
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' }
|
|
|
|
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 { 'morhetz/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 {
|
|
'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
|