2022-08-17 01:47:49 +02:00
|
|
|
local install_path = vim.fn.stdpath('data') ..
|
|
|
|
'/site/pack/packer/start/packer.nvim'
|
2022-08-15 04:06:26 +02:00
|
|
|
local packer_bootstrap
|
2022-08-12 14:09:45 +02:00
|
|
|
if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
|
|
|
|
packer_bootstrap = vim.fn.system({
|
|
|
|
'git',
|
|
|
|
'clone',
|
|
|
|
'https://github.com/wbthomason/packer.nvim',
|
2022-08-16 21:53:43 +02:00
|
|
|
install_path
|
|
|
|
})
|
2022-08-08 01:41:01 +02:00
|
|
|
vim.cmd [[packadd packer.nvim]]
|
|
|
|
end
|
|
|
|
|
2022-08-26 04:10:26 +02:00
|
|
|
require('packer').startup({ function(use)
|
2022-08-15 04:06:26 +02:00
|
|
|
use { 'https://github.com/wbthomason/packer.nvim' }
|
2022-08-08 01:41:01 +02:00
|
|
|
|
2022-08-15 04:06:26 +02:00
|
|
|
-- settings
|
|
|
|
use { 'https://github.com/owozsh/amora' }
|
|
|
|
use { 'https://github.com/editorconfig/editorconfig-vim' }
|
2022-08-17 03:51:08 +02:00
|
|
|
use { 'https://github.com/antoinemadec/FixCursorHold.nvim' }
|
2022-08-26 17:39:49 +02:00
|
|
|
use { 'https://github.com/ii14/autosplit.nvim' }
|
2022-08-08 13:57:38 +02:00
|
|
|
|
2022-08-15 04:06:26 +02:00
|
|
|
-- filetypes
|
|
|
|
use {
|
|
|
|
'https://github.com/nvim-treesitter/nvim-treesitter',
|
2022-08-30 18:59:12 +02:00
|
|
|
run = [[:TSUpdateSync]]
|
2022-08-15 04:06:26 +02:00
|
|
|
}
|
|
|
|
use {
|
|
|
|
'https://github.com/nvim-orgmode/orgmode',
|
|
|
|
tag = '*',
|
|
|
|
requires = 'https://github.com/nvim-treesitter/nvim-treesitter'
|
|
|
|
}
|
2022-08-16 02:49:33 +02:00
|
|
|
use {
|
|
|
|
'https://github.com/JoosepAlviste/nvim-ts-context-commentstring',
|
|
|
|
requires = 'https://github.com/nvim-treesitter/nvim-treesitter'
|
|
|
|
}
|
2022-08-24 02:19:41 +02:00
|
|
|
use {
|
|
|
|
'https://github.com/folke/todo-comments.nvim',
|
|
|
|
requires = { 'https://github.com/nvim-lua/plenary.nvim' }
|
|
|
|
}
|
2022-08-24 03:56:08 +02:00
|
|
|
use { 'https://github.com/powerman/vim-plugin-AnsiEsc' }
|
2022-08-31 22:46:20 +02:00
|
|
|
use {
|
|
|
|
'https://github.com/lervag/vimtex',
|
2022-09-01 00:48:12 +02:00
|
|
|
tag = '*',
|
|
|
|
cond = vim.fn.executable('xelatex') == 1
|
2022-08-31 22:46:20 +02:00
|
|
|
}
|
2022-09-05 19:47:22 +02:00
|
|
|
use { 'https://github.com/NvChad/nvim-colorizer.lua' }
|
2022-09-06 18:14:31 +02:00
|
|
|
use { 'https://github.com/chikamichi/mediawiki.vim' }
|
2022-08-15 04:06:26 +02:00
|
|
|
|
|
|
|
-- completion
|
|
|
|
use {
|
|
|
|
'https://github.com/hrsh7th/nvim-cmp',
|
|
|
|
requires = {
|
|
|
|
'https://github.com/hrsh7th/cmp-nvim-lsp',
|
|
|
|
'https://github.com/hrsh7th/cmp-buffer',
|
|
|
|
'https://github.com/hrsh7th/cmp-path',
|
|
|
|
'https://github.com/hrsh7th/cmp-cmdline',
|
|
|
|
{
|
|
|
|
'https://github.com/saadparwaiz1/cmp_luasnip',
|
|
|
|
requires = 'https://github.com/L3MON4D3/LuaSnip'
|
|
|
|
},
|
|
|
|
'https://github.com/hrsh7th/cmp-nvim-lua',
|
|
|
|
'https://github.com/uga-rosa/cmp-dictionary',
|
2022-09-09 06:00:48 +02:00
|
|
|
'https://github.com/f3fora/cmp-spell',
|
2022-09-09 06:13:49 +02:00
|
|
|
'https://github.com/hrsh7th/cmp-nvim-lsp-document-symbol',
|
2022-09-09 06:50:11 +02:00
|
|
|
'https://github.com/tamago324/cmp-zsh',
|
|
|
|
{
|
|
|
|
'https://github.com/paopaol/cmp-doxygen',
|
|
|
|
requires = {
|
|
|
|
'https://github.com/nvim-treesitter/nvim-treesitter',
|
|
|
|
'https://github.com/nvim-treesitter/nvim-treesitter-textobjects'
|
|
|
|
}
|
|
|
|
}
|
2022-08-15 04:06:26 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
-- lsp
|
|
|
|
use {
|
|
|
|
'https://github.com/neovim/nvim-lspconfig',
|
|
|
|
tag = '*',
|
|
|
|
requires = 'https://github.com/hrsh7th/cmp-nvim-lsp'
|
|
|
|
}
|
2022-08-16 21:53:43 +02:00
|
|
|
use {
|
|
|
|
'https://github.com/lukas-reineke/lsp-format.nvim',
|
|
|
|
tag = '*'
|
|
|
|
}
|
2022-08-17 03:42:10 +02:00
|
|
|
use { 'https://github.com/ray-x/lsp_signature.nvim' }
|
2022-08-18 22:38:35 +02:00
|
|
|
use { 'https://github.com/p00f/clangd_extensions.nvim' }
|
2022-08-15 04:06:26 +02:00
|
|
|
|
|
|
|
-- tools
|
2022-08-19 02:12:19 +02:00
|
|
|
local nerdfont_installed = require('my.functions').nerdfont_installed()
|
|
|
|
|
2022-08-19 03:20:29 +02:00
|
|
|
use { 'https://github.com/folke/which-key.nvim' }
|
2022-08-15 04:06:26 +02:00
|
|
|
use {
|
|
|
|
'https://github.com/nvim-telescope/telescope.nvim',
|
|
|
|
tag = '*',
|
|
|
|
requires = {
|
|
|
|
'https://github.com/nvim-lua/plenary.nvim',
|
|
|
|
'https://github.com/nvim-treesitter/nvim-treesitter',
|
2022-08-25 18:39:27 +02:00
|
|
|
{ 'https://github.com/kyazdani42/nvim-web-devicons',
|
|
|
|
cond = nerdfont_installed }
|
2022-08-15 04:06:26 +02:00
|
|
|
},
|
|
|
|
}
|
2022-08-30 06:39:04 +02:00
|
|
|
use {
|
|
|
|
'https://github.com/nvim-telescope/telescope-fzf-native.nvim',
|
2022-09-01 03:20:00 +02:00
|
|
|
run = [[make]]
|
2022-08-30 06:39:04 +02:00
|
|
|
}
|
2022-08-16 21:38:31 +02:00
|
|
|
use {
|
|
|
|
'https://github.com/kyazdani42/nvim-tree.lua',
|
2022-08-19 00:11:15 +02:00
|
|
|
tag = '*',
|
|
|
|
requires = {
|
2022-08-25 18:39:27 +02:00
|
|
|
{ 'https://github.com/kyazdani42/nvim-web-devicons',
|
|
|
|
cond = nerdfont_installed }
|
2022-08-19 00:11:15 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
use {
|
|
|
|
'https://github.com/nvim-lualine/lualine.nvim',
|
|
|
|
requires = {
|
2022-08-25 18:39:27 +02:00
|
|
|
{ 'https://github.com/kyazdani42/nvim-web-devicons',
|
|
|
|
cond = nerdfont_installed },
|
|
|
|
'https://github.com/nvim-lua/lsp-status.nvim'
|
2022-08-19 00:11:15 +02:00
|
|
|
}
|
2022-08-16 21:38:31 +02:00
|
|
|
}
|
2022-08-19 21:26:25 +02:00
|
|
|
use { 'https://codeberg.org/tastytea/bug-reference.nvim' }
|
2022-08-26 04:10:26 +02:00
|
|
|
use {
|
|
|
|
'https://github.com/phaazon/mind.nvim',
|
|
|
|
tag = '*'
|
|
|
|
}
|
2022-08-31 22:59:30 +02:00
|
|
|
use {
|
|
|
|
'https://github.com/kylechui/nvim-surround',
|
|
|
|
tag = '*'
|
|
|
|
}
|
2022-09-01 20:23:38 +02:00
|
|
|
use {
|
|
|
|
'https://github.com/dhruvasagar/vim-table-mode',
|
|
|
|
tag = '*'
|
|
|
|
}
|
2022-09-06 05:40:03 +02:00
|
|
|
use { 'https://github.com/stevearc/dressing.nvim' }
|
|
|
|
use {
|
|
|
|
'https://github.com/rcarriga/nvim-notify',
|
|
|
|
tag = '*'
|
|
|
|
}
|
2022-09-25 12:38:05 +02:00
|
|
|
use {
|
|
|
|
'https://github.com/gaoDean/autolist.nvim',
|
2022-09-26 10:44:45 +02:00
|
|
|
-- tag = '*' -- re-enable with release after 2022-09-15
|
2022-09-25 12:38:05 +02:00
|
|
|
}
|
2022-08-15 04:06:26 +02:00
|
|
|
|
|
|
|
-- coding
|
|
|
|
use {
|
2022-08-16 02:49:33 +02:00
|
|
|
'https://github.com/numToStr/Comment.nvim',
|
2022-09-29 12:42:25 +02:00
|
|
|
-- tag = '*' -- re-enable after 0.6.1 (wrong lua comments)
|
2022-08-15 04:06:26 +02:00
|
|
|
}
|
2022-08-19 03:20:29 +02:00
|
|
|
use { 'https://github.com/windwp/nvim-autopairs' }
|
2022-08-15 04:06:26 +02:00
|
|
|
use { 'https://github.com/L3MON4D3/LuaSnip' }
|
2022-08-25 18:43:26 +02:00
|
|
|
-- use { 'https://github.com/ahmedkhalf/project.nvim' }
|
|
|
|
use { -- <https://github.com/ahmedkhalf/project.nvim/pull/89>
|
|
|
|
'https://github.com/tastytea/project.nvim',
|
|
|
|
branch = 'fallback_current_dir' }
|
2022-08-28 20:30:59 +02:00
|
|
|
use {
|
|
|
|
'https://github.com/mfussenegger/nvim-dap',
|
|
|
|
tag = '*'
|
|
|
|
}
|
|
|
|
use {
|
|
|
|
'https://github.com/rcarriga/nvim-dap-ui',
|
|
|
|
tag = '*',
|
|
|
|
requires = 'https://github.com/mfussenegger/nvim-dap'
|
|
|
|
}
|
|
|
|
use {
|
|
|
|
'https://github.com/nvim-telescope/telescope-dap.nvim',
|
|
|
|
requires = 'https://github.com/mfussenegger/nvim-dap'
|
|
|
|
}
|
|
|
|
use {
|
|
|
|
'https://github.com/theHamsta/nvim-dap-virtual-text',
|
|
|
|
requires = 'https://github.com/mfussenegger/nvim-dap'
|
|
|
|
}
|
2022-09-06 05:58:05 +02:00
|
|
|
use {
|
|
|
|
'https://github.com/krady21/compiler-explorer.nvim',
|
|
|
|
requires = { 'https://github.com/nvim-lua/plenary.nvim' }
|
|
|
|
}
|
2022-09-26 19:02:59 +02:00
|
|
|
use {
|
|
|
|
'https://github.com/AckslD/nvim-FeMaco.lua'
|
|
|
|
}
|
2022-09-28 12:04:05 +02:00
|
|
|
|
|
|
|
-- git
|
|
|
|
use {
|
|
|
|
'https://github.com/TimUntersberger/neogit',
|
|
|
|
requires = {
|
|
|
|
'https://github.com/nvim-lua/plenary.nvim',
|
|
|
|
'https://github.com/folke/which-key.nvim',
|
|
|
|
'https://github.com/sindrets/diffview.nvim'
|
|
|
|
},
|
|
|
|
}
|
|
|
|
use {
|
|
|
|
'https://github.com/tpope/vim-fugitive',
|
|
|
|
tag = '*'
|
|
|
|
}
|
|
|
|
use {
|
|
|
|
'https://github.com/lewis6991/gitsigns.nvim',
|
|
|
|
tag = '*'
|
|
|
|
}
|
2022-09-29 12:43:19 +02:00
|
|
|
-- use {
|
|
|
|
-- 'https://github.com/ruifm/gitlinker.nvim',
|
|
|
|
-- requires = { 'https://github.com/nvim-lua/plenary.nvim' }
|
|
|
|
-- }
|
|
|
|
use { -- <https://github.com/ruifm/gitlinker.nvim/pull/67>
|
|
|
|
'https://github.com/tastytea/gitlinker.nvim',
|
|
|
|
requires = { 'https://github.com/nvim-lua/plenary.nvim' },
|
|
|
|
branch = 'fix-cgit'
|
2022-09-26 19:02:59 +02:00
|
|
|
}
|
2022-08-15 04:06:26 +02:00
|
|
|
|
|
|
|
-- net
|
2022-08-16 21:53:43 +02:00
|
|
|
use { -- embed nvim in browsers
|
2022-08-15 04:06:26 +02:00
|
|
|
'https://github.com/glacambre/firenvim',
|
|
|
|
tag = '*',
|
2022-08-19 03:20:29 +02:00
|
|
|
run = [[call firenvim#install(0)]]
|
2022-08-15 04:06:26 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
-- ensure plugins are installed and compiled
|
|
|
|
if packer_bootstrap then
|
|
|
|
require('packer').sync()
|
|
|
|
end
|
2022-08-25 18:51:30 +02:00
|
|
|
end,
|
2022-08-26 04:10:26 +02:00
|
|
|
config = {
|
|
|
|
git = {
|
|
|
|
depth = 999999
|
2022-08-30 06:59:30 +02:00
|
|
|
},
|
|
|
|
display = {
|
|
|
|
open_fn = require('packer.util').float
|
2022-08-26 04:10:26 +02:00
|
|
|
}
|
|
|
|
} })
|
2022-08-15 04:06:26 +02:00
|
|
|
|
|
|
|
-- source file, install and compile plugins when this file is written
|
|
|
|
vim.api.nvim_create_augroup('config_plugins', { clear = true })
|
2022-08-18 01:16:57 +02:00
|
|
|
vim.api.nvim_create_autocmd({ 'BufWritePost' }, {
|
|
|
|
group = 'config_plugins',
|
|
|
|
pattern = { vim.fn.stdpath('config') .. '/lua/my/plugins.lua' },
|
|
|
|
command = [[source <afile> | PackerInstall]]
|
|
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd({ 'User' }, {
|
|
|
|
group = 'config_plugins',
|
|
|
|
pattern = 'PackerComplete',
|
|
|
|
command = [[PackerCompile]]
|
|
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd({ 'User' }, {
|
|
|
|
group = 'config_plugins',
|
|
|
|
pattern = 'PackerCompileDone',
|
|
|
|
command = [[echo 'plugins compiled']]
|
|
|
|
})
|