nvim_config/lua/plugins.lua
2024-03-10 22:32:22 +01:00

161 lines
3.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 'ribru17/bamboo.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' }
-- -- nvim-cmp
use 'hrsh7th/cmp-nvim-lsp'
use 'hrsh7th/nvim-cmp'
use 'hrsh7th/cmp-vsnip'
use 'hrsh7th/vim-vsnip'
-- structural search and replace
use {
"cshuaimin/ssr.nvim",
module = "ssr",
-- Calling setup is optional.
config = function()
require("ssr").setup {
min_width = 50,
min_height = 5,
keymaps = {
close = "q",
next_match = "n",
prev_match = "N",
replace_all = "<leader><cr>",
},
}
end
}
-- 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'
-- use 'averms/black-nvim'
-- 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'
}
}
-- liquidsoap syntax Highlight
use 'mcfiredrill/vim-liquidsoap'
-- go.nvim
-- use 'ray-x/go.nvim'
-- use 'ray-x/guihua.lua'
use {
"ahmedkhalf/project.nvim",
config = function()
end
}
-- RFC browser
use 'mhinz/vim-rfc'
end
local plugins = setmetatable({}, {
__index = function(_, key)
init()
return packer[key]
end,
})
return plugins