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 = "", }, } 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' -- typst use 'kaarmu/typst.vim' use 'nvarner/typst-lsp' end local plugins = setmetatable({}, { __index = function(_, key) init() return packer[key] end, }) return plugins