nvim_config/lua/plugins.lua

120 lines
2.6 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");
require("telescope").load_extension('cder');
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'
use 'https://git.sr.ht/~whynothugo/lsp_lines.nvim'
-- -- Coq
use {'ms-jpq/coq_nvim', branch = 'coq'}
use {'ms-jpq/coq.artifacts', branch = 'artifacts'}
use {'ms-jpq/coq.thirdparty', branch = '3p'}
-- 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'
-- cder.nvim
use 'zane-/cder.nvim'
-- dressing.nvim
use 'stevearc/dressing.nvim'
-- vgit
use {
'tanvirtin/vgit.nvim',
requires = {
'nvim-lua/plenary.nvim'
}
}
end
local plugins = setmetatable({}, {
__index = function(_, key)
init()
return packer[key]
end,
})
return plugins