98 lines
2.1 KiB
Lua
98 lines
2.1 KiB
Lua
local packer = nil
|
|
|
|
vim.lsp.set_log_level("debug")
|
|
local function init()
|
|
if packer == nil then
|
|
packer = require 'packer'
|
|
packer.init { disable_commands = true }
|
|
end
|
|
|
|
local use = packer.use
|
|
packer.reset()
|
|
|
|
-- Packer can manage itself
|
|
use 'wbthomason/packer.nvim'
|
|
|
|
-- nvim-mapper to explore mappings
|
|
use {
|
|
"lazytanuki/nvim-mapper",
|
|
config = function() require("nvim-mapper").setup {} end,
|
|
before = "telescope.nvim"
|
|
}
|
|
|
|
-- telescope.nvim
|
|
use {
|
|
'nvim-telescope/telescope.nvim',
|
|
requires = { { 'nvim-lua/popup.nvim' }, { 'nvim-lua/plenary.nvim' } },
|
|
config = function() require("telescope").load_extension("mapper") end
|
|
}
|
|
|
|
-- Highlight
|
|
use {
|
|
'nvim-treesitter/nvim-treesitter',
|
|
requires = {
|
|
'nvim-treesitter/nvim-treesitter-refactor',
|
|
'nvim-treesitter/nvim-treesitter-textobjects',
|
|
},
|
|
run = ':TSUpdate',
|
|
}
|
|
|
|
-- Colortheme
|
|
-- use 'rktjmp/lush.nvim'
|
|
-- use 'alaric/nortia.nvim'
|
|
-- use 'morhetz/gruvbox'
|
|
-- use 'vim-airline/vim-airline'
|
|
-- use 'vim-airline/vim-airline-themes'
|
|
-- use 'projekt0n/github-nvim-theme'
|
|
-- use 'folke/tokyonight.nvim'
|
|
use 'savq/melange'
|
|
use {
|
|
'nvim-lualine/lualine.nvim',
|
|
requires = { 'kyazdani42/nvim-web-devicons', opt = true }
|
|
}
|
|
|
|
-- Coc
|
|
use {
|
|
'neoclide/coc.nvim',
|
|
branch = 'master',
|
|
run = 'yarn install --frozen-lockfile',
|
|
}
|
|
|
|
-- Wrapping/delimiters
|
|
use 'andymass/vim-matchup'
|
|
-- use 'machakann/vim-sandwich'
|
|
|
|
-- Undo tree
|
|
use 'mbbill/undotree'
|
|
|
|
-- LSP stuff
|
|
use 'neovim/nvim-lspconfig'
|
|
|
|
-- Split maximizer
|
|
use 'szw/vim-maximizer'
|
|
|
|
-- Auto pair
|
|
use 'jiangmiao/auto-pairs'
|
|
|
|
-- Nginx syntax
|
|
use 'chr4/nginx.vim'
|
|
|
|
-- Zig syntax
|
|
use 'ziglang/zig.vim'
|
|
|
|
-- Black, python formatter
|
|
use 'psf/black'
|
|
|
|
-- Autotag completer
|
|
use 'windwp/nvim-ts-autotag'
|
|
end
|
|
|
|
local plugins = setmetatable({}, {
|
|
__index = function(_, key)
|
|
init()
|
|
return packer[key]
|
|
end,
|
|
})
|
|
|
|
return plugins
|