2022-02-14 10:29:35 +00:00
|
|
|
local fn = vim.fn
|
2021-09-16 20:54:40 +00:00
|
|
|
|
2022-02-14 10:29:35 +00:00
|
|
|
-- Automatically install packer
|
|
|
|
local install_path = fn.stdpath "data" .. "/site/pack/packer/start/packer.nvim"
|
|
|
|
if fn.empty(fn.glob(install_path)) > 0 then
|
2022-08-20 04:26:07 +00:00
|
|
|
PACKER_BOOTSTRAP = fn.system {
|
|
|
|
"git",
|
|
|
|
"clone",
|
|
|
|
"--depth",
|
|
|
|
"1",
|
|
|
|
"https://github.com/wbthomason/packer.nvim",
|
|
|
|
install_path,
|
|
|
|
}
|
|
|
|
print "Installing packer close and reopen Neovim..."
|
|
|
|
vim.cmd [[packadd packer.nvim]]
|
2022-02-14 10:29:35 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
-- Autocommand that reloads neovim whenever you save the plugins.lua file
|
|
|
|
vim.cmd [[
|
|
|
|
augroup packer_user_config
|
|
|
|
autocmd!
|
|
|
|
autocmd BufWritePost plugins.lua source <afile> | PackerSync
|
|
|
|
augroup end
|
|
|
|
]]
|
|
|
|
|
|
|
|
-- Use a protected call so we don't error out on first use
|
|
|
|
local status_ok, packer = pcall(require, "packer")
|
|
|
|
if not status_ok then
|
2022-08-20 04:26:07 +00:00
|
|
|
return
|
2022-02-14 10:29:35 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
-- Have packer use a popup window
|
|
|
|
packer.init {
|
2022-08-20 04:26:07 +00:00
|
|
|
display = {
|
|
|
|
open_fn = function()
|
|
|
|
return require("packer.util").float { border = "rounded" }
|
|
|
|
end,
|
|
|
|
},
|
2022-02-14 10:29:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return packer.startup(function(use)
|
2022-02-14 05:57:25 +00:00
|
|
|
-- Packer can manage itself
|
|
|
|
use 'wbthomason/packer.nvim'
|
2021-09-16 07:15:00 +00:00
|
|
|
use 'morhetz/gruvbox'
|
|
|
|
|
|
|
|
-- Status line
|
|
|
|
use {
|
|
|
|
'hoob3rt/lualine.nvim',
|
2021-09-25 19:06:36 +00:00
|
|
|
config = [[require('config.lualine')]],
|
2021-09-16 07:15:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
use 'tpope/vim-fugitive'
|
2022-08-20 04:26:07 +00:00
|
|
|
-- use 'mhinz/vim-signify'
|
|
|
|
use {
|
|
|
|
'lewis6991/gitsigns.nvim',
|
|
|
|
config = [[require('config.gitsigns')]],
|
|
|
|
}
|
2021-09-16 07:15:00 +00:00
|
|
|
|
|
|
|
use 'tpope/vim-surround'
|
|
|
|
use 'tpope/vim-repeat'
|
|
|
|
|
2021-09-16 20:54:40 +00:00
|
|
|
use {
|
2022-10-17 15:51:22 +00:00
|
|
|
"williamboman/mason.nvim",
|
|
|
|
"williamboman/mason-lspconfig.nvim",
|
2021-09-19 12:32:12 +00:00
|
|
|
'neovim/nvim-lspconfig',
|
|
|
|
requires = {
|
2022-02-14 05:57:25 +00:00
|
|
|
"hrsh7th/cmp-nvim-lsp",
|
2021-09-19 12:32:12 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
use {
|
|
|
|
'hrsh7th/nvim-cmp',
|
2021-09-16 20:54:40 +00:00
|
|
|
event = 'InsertEnter',
|
|
|
|
config = [[require('completion')]],
|
|
|
|
requires = {
|
2021-09-19 12:32:12 +00:00
|
|
|
'hrsh7th/vim-vsnip',
|
2022-07-25 14:21:24 +00:00
|
|
|
'hrsh7th/vim-vsnip-integ',
|
2021-11-01 04:08:07 +00:00
|
|
|
-- 'rafamadriz/friendly-snippets',
|
2021-09-16 20:54:40 +00:00
|
|
|
},
|
|
|
|
}
|
2022-08-20 04:26:07 +00:00
|
|
|
use { 'hrsh7th/cmp-vsnip', after = 'nvim-cmp' }
|
|
|
|
use { 'hrsh7th/cmp-buffer', after = 'nvim-cmp' }
|
|
|
|
use { 'hrsh7th/cmp-path', after = 'nvim-cmp' }
|
|
|
|
use { 'hrsh7th/cmp-nvim-lsp', after = 'nvim-cmp' }
|
2021-11-01 04:08:25 +00:00
|
|
|
-- use {'f3fora/cmp-spell', after = 'nvim-cmp'}
|
2022-02-14 10:36:10 +00:00
|
|
|
|
|
|
|
-- for formatters and linters
|
|
|
|
use {
|
|
|
|
"jose-elias-alvarez/null-ls.nvim",
|
2022-10-17 15:51:22 +00:00
|
|
|
config = [[require('config.null-ls')]],
|
|
|
|
requires = {
|
|
|
|
"jayp0521/mason-null-ls.nvim"
|
|
|
|
}
|
2022-02-14 10:36:10 +00:00
|
|
|
}
|
2021-09-19 12:32:12 +00:00
|
|
|
|
2021-09-16 07:15:00 +00:00
|
|
|
|
|
|
|
use 'nvim-lua/popup.nvim'
|
2021-09-16 20:54:40 +00:00
|
|
|
use {
|
|
|
|
'nvim-telescope/telescope.nvim',
|
2021-11-03 04:46:00 +00:00
|
|
|
config = [[require('config.telescope')]],
|
2022-08-20 04:26:07 +00:00
|
|
|
requires = { 'nvim-lua/plenary.nvim' }
|
2021-09-16 20:54:40 +00:00
|
|
|
}
|
2021-09-16 07:15:00 +00:00
|
|
|
|
2022-08-20 04:26:07 +00:00
|
|
|
use { 'nvim-telescope/telescope-fzf-native.nvim', run = 'make' }
|
2022-10-10 12:16:20 +00:00
|
|
|
use {
|
|
|
|
"nvim-telescope/telescope-file-browser.nvim"
|
|
|
|
}
|
2021-11-20 19:42:23 +00:00
|
|
|
|
2021-09-16 20:54:40 +00:00
|
|
|
use {
|
|
|
|
'lervag/vimtex',
|
2021-09-17 04:17:59 +00:00
|
|
|
config = [[require('config.vimtex')]],
|
2021-09-16 20:54:40 +00:00
|
|
|
}
|
2021-09-16 07:15:00 +00:00
|
|
|
|
2022-08-20 04:26:07 +00:00
|
|
|
-- Highlight on Yank
|
2021-09-16 07:15:00 +00:00
|
|
|
use 'machakann/vim-highlightedyank'
|
|
|
|
-- Autoclose parenthesis
|
2022-05-02 05:28:22 +00:00
|
|
|
-- use 'jiangmiao/auto-pairs'
|
|
|
|
use {
|
|
|
|
'windwp/nvim-autopairs',
|
|
|
|
config = [[ require('config.autopairs') ]]
|
|
|
|
}
|
2021-09-16 07:15:00 +00:00
|
|
|
|
2021-09-16 20:54:40 +00:00
|
|
|
use 'kyazdani42/nvim-web-devicons'
|
2021-09-22 03:52:37 +00:00
|
|
|
use {
|
|
|
|
'xolox/vim-notes',
|
|
|
|
config = [[require('config.notes')]],
|
|
|
|
requires = {
|
|
|
|
'xolox/vim-misc',
|
|
|
|
}
|
|
|
|
}
|
2021-09-16 20:54:40 +00:00
|
|
|
|
2021-11-09 08:51:32 +00:00
|
|
|
use 'christoomey/vim-tmux-navigator'
|
|
|
|
|
2021-12-04 08:19:03 +00:00
|
|
|
use {
|
|
|
|
'nvim-treesitter/nvim-treesitter',
|
2022-08-20 04:26:07 +00:00
|
|
|
config = [[require('config.treesitter')]],
|
2022-02-04 04:47:31 +00:00
|
|
|
run = ':TSUpdate',
|
2021-12-04 08:19:03 +00:00
|
|
|
}
|
|
|
|
|
2022-01-09 10:41:23 +00:00
|
|
|
use {
|
|
|
|
'norcalli/nvim-colorizer.lua',
|
|
|
|
config = [[require('config.colorizer')]],
|
|
|
|
}
|
|
|
|
|
2022-05-05 12:24:15 +00:00
|
|
|
use {
|
|
|
|
"lukas-reineke/indent-blankline.nvim",
|
|
|
|
config = [[require('config.indentblankline')]]
|
|
|
|
}
|
|
|
|
|
2022-02-14 10:29:35 +00:00
|
|
|
if PACKER_BOOTSTRAP then
|
|
|
|
require("packer").sync()
|
|
|
|
end
|
2021-09-16 07:15:00 +00:00
|
|
|
end)
|